OpenCV開發(fā)者基本技能之一就是要從源碼編譯OpenCV生成各種裁剪版本的OpenCV庫,同時(shí)根據(jù)需要編譯源碼生產(chǎn)支持CUDA加速版本的OpenCV庫。 但是,很多開發(fā)者還是編譯中會(huì)遇到各種問題,被迫放棄!可以說還沒用CUDA加速就已經(jīng)自我放棄啦! 所以周末我又重新編譯了一遍,針對(duì)各種問題,幫大家理清了對(duì)策,幫助大家可以完成OpenCV+CUDA編譯,實(shí)現(xiàn)性能加速! 軟件版本信息:
OpenCV+CUDA編譯
整個(gè)編譯過程主要分為三步:
下載源碼,一定是Tag對(duì)應(yīng)的版本跟擴(kuò)展模塊CMake階段,解決無法下載的坑!去掉不必要的模塊VS工程編譯,生成lib與dll
下載源碼:

選擇tag-4.5.4,

CMake:
打開CMake,設(shè)置源碼路徑跟目標(biāo)路徑:

上述選擇表示編譯為64位的庫!
點(diǎn)擊【Configure】,

然后再點(diǎn)擊【generate】

完成之后,搜索cuda關(guān)鍵字,如上圖,三個(gè)選項(xiàng)勾上,

然后再搜索opencv_ex, 設(shè)置擴(kuò)展模塊的代碼路徑,如上圖!設(shè)置好之后再次點(diǎn)擊【Configure】,完成之后:

搜索cuda,如上圖勾選! 最后搜索:

默認(rèn)是勾選的,全部不要選擇!(去掉勾選!)
無法下載ffmpeg, ippicv問題解決:

從上述兩個(gè)文件拿到下載地址,直接下載完成之后,分別放到對(duì)應(yīng)目錄:

就一切OK了。
生成好VS工程文件之后,打開工程文件:


謝天謝地,終于編譯好啦!
OpenCV+CUDA配置與加速
基于最新編譯好的OpenCV+CUDA支持的庫,重新配置OpenCV開發(fā)環(huán)境,對(duì)比YOLOv5部署,CPU運(yùn)行推理測(cè)試結(jié)果如下:

添加兩行代碼,啟用GPU運(yùn)行推理測(cè)試結(jié)果如下:


顯卡是3050ti!
對(duì)比一下,加速效果真得是杠杠滴!所以值得編譯OpenCV+CUDA支持,因?yàn)樗还饧铀?a href="http://www.brongaenegriffin.com/v/tag/448/" target="_blank">深度學(xué)習(xí)模型推理,對(duì)傳統(tǒng)圖像處理均有加速!
審核編輯:劉清
-
cpu
+關(guān)注
關(guān)注
68文章
11250瀏覽量
223845 -
OpenCV
+關(guān)注
關(guān)注
33文章
652瀏覽量
44608 -
CUDA
+關(guān)注
關(guān)注
0文章
126瀏覽量
14435
原文標(biāo)題:OpenCV4.5.x+CUDA11.0.x源碼編譯與YOLOv5加速教程!
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【YOLOv5】LabVIEW+YOLOv5快速實(shí)現(xiàn)實(shí)時(shí)物體識(shí)別(Object Detection)含源碼
手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,實(shí)現(xiàn)YOLOv5實(shí)時(shí)物體識(shí)別
【YOLOv5】LabVIEW+TensorRT的yolov5部署實(shí)戰(zhàn)(含源碼)
龍哥手把手教你學(xué)視覺-深度學(xué)習(xí)YOLOV5篇
怎樣使用PyTorch Hub去加載YOLOv5模型
如何YOLOv5測(cè)試代碼?
如何在OpenCV中實(shí)現(xiàn)CUDA加速
YOLOv5在OpenCV上的推理程序
使用旭日X3派的BPU部署Yolov5
YOLOv8+OpenCV實(shí)現(xiàn)DM碼定位檢測(cè)與解析
yolov5和YOLOX正負(fù)樣本分配策略
OpenCV4.8+YOLOv8對(duì)象檢測(cè)C++推理演示
yolov5訓(xùn)練部署全鏈路教程
OpenCV+CUDA編譯實(shí)現(xiàn)YOLOv5能加速
評(píng)論