OpenCV配置CUDA以支持GPU加速
一、環(huán)境準備
- 查看電腦NVIDIA的CUDA版本號,下載對應版本CUDA Toolkit(當前使用11.1版本)(具體需不需要下載和自己電腦cuda相同版本的還有待查證)
- cmake3.17.2(最高只支持到vs2019版)
- visual studio 2019
- opencv源代碼(當前使用opencv 4.6.0版本)
- opencv_contrib(當前使用4.6.0版本)
以上相應下載鏈接及軟件會放在資料里。CUDA精簡安裝教程請關注補充內(nèi)容
二、使用cmake “make”
1、打開cmake(cmake-gui),第一個源代碼路徑選擇剛剛下載的opencv源代碼路徑,路徑需要選擇到sources
第二個編譯輸出路徑,可在opencv文件夾下創(chuàng)建一個新的文件夾,用于存放編譯輸出的文件,這里創(chuàng)建為newbuild。
(1)跟python2.7相關的錯誤,可忽略
2、勾選相應配置
(1)在 search 搜索框里搜索 cuda,勾選 OPENCV_DNN_CUDA 和 WITH_CUDA 兩個選項
以上完成之后再次點擊 configure 進行第二次配置,等待配置完成后可繼續(xù)下一步。
例如:wechat_qrcode、xfeatures2d、face相關等,基本都是因為下載不到文件引起,需要自己手動下載(5)搜索 cudnn,勾選 WITH_CUDNN(我的默認已經(jīng)勾選)
(顯卡gpu算力查詢****見資料)(8)搜索 fast,勾選CUDA_FAST_MATH 和 ENABLE_FAST_MAT(9)搜索 type,將CMAKE_CONFIGURATION_TYPES的DEBUG刪除,只保留Release(10)搜索 world,勾選BUILD_opencv_world完成上述后再次點擊 configure 進行第三次配置,等待配置完成后,這時我們需要放入剛剛所說的一些下載錯誤的缺失文件。 在源碼目錄下的 .cache 文件夾內(nèi)(我的路徑為 H:\opencv_pasks\opencv\sources.cache)放入剛剛下載的相應文件,需要放入到對應的文件夾下,并且文件名需要和自己目錄下生成的 0k 文件名相對應,不對應的需要修改成對應的,然后將其替換。(不會的可以參考我的 .ceche 目錄,同時如果有文件下載不了的可以使用我文件里的) 替換完剛剛出錯的所有文件后,回到 cmake,點擊 Generate 會生成一個vs2019的c++工程,之后點擊 open Project 打開工程。 在 vs2019 上方選擇 Release,之后點右邊的 CmakeTargets-ALL_BUILD,右鍵生成,等待生成完成,過程大約一小時到兩小時,根據(jù)自己電腦的 cpu 而定。生成完會出現(xiàn)0錯誤、0跳過,全是成功的,之后還是同樣在 ALL_BUILD 下方的 INSTALL,同樣右鍵生成,過程大約幾分鐘,等待生成完成即可。
三、配置環(huán)境變量
此電腦右鍵-屬性-高級系統(tǒng)設置-高級-環(huán)境變量在上方的用戶變量中新建兩個變量
四、測試
在代碼中,需要對net類進行兩處修改net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)之后運行即可支持GPU加速。來源: 小半仙IoT
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。