opencv gpu版本安裝
cmake 編譯opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版本編譯方法相同,本文以opencv4.5.5為例
1 編譯環(huán)境準(zhǔn)備
一定確保已經(jīng)成功安裝了cuda工具包,以及VS編譯器,清單如下
cuda工具包
visual studio 編譯器
cmake構(gòu)建工具
opencv源碼
opencv-contrib源碼
1.1 cmake構(gòu)建工具下載
https://cmake.org/download/
1.2 opencv源碼下載
官網(wǎng)下載地址
https://opencv.org/releases/
國(guó)內(nèi)源:
https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/
1.3 opencv-contrib源碼下載
opencv-contrib為opencv的拓展模塊,為opencv添加了額外的功能,在編譯時(shí)一塊編譯
github下載地址:
https://github.com/opencv/opencv_contrib/
國(guó)內(nèi)源:
https://www.raoyunsoft.com/opencv/opencv_contrib/
2 cmake構(gòu)建工程
- 打開cmake
cmake-gui在解壓出來的文件夾下的bin目錄中,雙擊打開
- 選擇位置
打開cmake構(gòu)建工具后,選擇源碼位置已經(jīng)輸出位置
- configre
選擇vs版本以及處理器,點(diǎn)擊finish,看見configure done表示配置完成
- 添加opencv-contrib以及cuda
這個(gè)會(huì)出現(xiàn)很多錯(cuò)誤,修改自己需要的即可
- 去掉python版本,勾選opencv_world
- 添加 opencv_contrib 路徑
找到此文件,后面添加路徑(opencv_contrib中modules所在的路徑)
- 勾選 cuda
再搜索欄搜索cuda,添加BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA
- 勾選OPENCV_ENABLE_NONFREE
- 去除勾選test
再搜索欄搜索test,去掉test,加快編譯
- 去除勾選js
再搜索欄搜索js,去掉js
- 去除勾選java
再搜索欄搜索java,去掉java
- 再次點(diǎn)擊configre
看見configure done表示配置完成
CUDA_ARCH_BIN表示的是支持的顯卡算力版本,在搜索欄搜索CUDA_ARCH_BIN會(huì)看見支持所有算力版本,可以指定自己的版本,加快編譯
配置完成后搜索FAST, 勾選CUDA_FAST_MATH、ENABLE_FAST_MATH
修改完成后,再點(diǎn)一次configre
- genetate
點(diǎn)擊genetate生成工程,出現(xiàn)genetate done表示生成成功
3 Visual Studio 編譯opencv
- 雙擊打開工程文件
- 分別在debug以及release模式下,在解決方案資源管理器窗口中找到ALL_BUILD右擊,點(diǎn)擊生成,等待編譯完成
- 編譯完成后,點(diǎn)擊install
4 Visual Studio 配置opencv
- 解決方案資源管理器窗口中,項(xiàng)目右擊,選擇屬性
- VC++ 目錄->包含目錄
添加編譯生成的install 文件下 include路徑
- VC++ 目錄->庫(kù)目錄
添加編譯生成的install 文件下 x64\vc17\lib
- 鏈接器->輸入
添加依賴項(xiàng) opencv_world455d
5 附錄
1、驗(yàn)證是否編譯后的庫(kù)在新環(huán)境中是否存在缺損dll,找到編譯路徑下install/x64/vc15/bin文件夾,在終端運(yùn)行opencv_version.exe,如果成功運(yùn)行,則opencv運(yùn)行環(huán)境配置沒有缺損。
2、opencv 啟動(dòng) gpu,模型加載后添加如下兩行代碼:
cv::dnn::Net net = cv::dnn::readNetFromTensorflow("yolo.pb");
net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
3、python opencv-gpu 安裝
cmake構(gòu)建工程時(shí)勾選python,編譯完成后找編譯路徑下的python_loader中的cv2文件夾
將其移動(dòng)到python安裝路徑中的Lib/site-packages中
6 錯(cuò)誤總結(jié)
- 如果在編譯過程中出現(xiàn)如下錯(cuò)誤,參考下面解決方案
vs2022重新編譯opencv-python cuda加速時(shí)報(bào)錯(cuò)的問題解決
2. LNK1104 無法打開文件“python37_d.lib” 解決方法
首先確認(rèn)環(huán)境中有沒有安裝python3.7,如果已經(jīng)安裝python3.7,可以采用release編譯,如需編譯debug版本則需要安裝python debug版本,參考下面解決方案
LNK1104 無法打開文件“python37_d.lib” 解決辦法文章來源:http://www.zghlxwxcb.cn/news/detail-425001.html
3、如果編譯過程中出現(xiàn)LINK : fatal error LNK1104: 無法打開文件“XXX.lib”文章來源地址http://www.zghlxwxcb.cn/news/detail-425001.html
- 出現(xiàn)此問題時(shí)確認(rèn)路徑中是否包含中文
- 采用vs2017進(jìn)行編譯,2022時(shí)可能會(huì)出現(xiàn)錯(cuò)誤
- cmake過程中有錯(cuò)誤未解決
到了這里,關(guān)于cmake 編譯opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!