vs2019+cuda10.1+opencv4.1+opencv_contrib4.1 加速的opecv(含擴展庫)環境配置

1.資源下載

  1. cuda10.1
    在這裏插入圖片描述
  2. opencv4.1.0+ opencv_contrib4.1.0
    由於知識產權的原因,OpenCV將很多算法放到了opencv_contrib中,在github上,這兩塊代碼就是分別放在不同的repository中的。
    在這裏插入圖片描述OpenCV官方提供了windows可安裝的版本,已經有編譯好的dll,不過不包括opencv_contrib。如果想應用這部分算法,則需要自己編譯opencv,將opencv_contrib編譯到opencv中。
    注意:兩個庫的版本一定要一致,版本可以在Tag下選擇:
    在這裏插入圖片描述
    在這裏插入圖片描述
    下載時通過客戶端下載速度更快,客戶端的加速技巧可以在其他博客找到。下載後放到一個文件夾下:
    在這裏插入圖片描述
  3. 最後下載cmake

在這裏插入圖片描述

2.編譯

在下載源文件的同級目錄下新建build文件夾(如上面兩個圖),作爲編譯輸出位置。輸出位置一定要保證磁盤容量足夠,不然編譯會出現一系列問題,一個debug版本的編譯大概就要20G左右。在第一次編譯的時候,就因爲磁盤不足的原因,編譯失敗。填寫cmake的頭文件:

在這裏插入圖片描述點擊Configure,彈出對話框,選擇編譯工程的平臺。我選的是64位的VS2019和 “use defalut native compilers" 後點擊Finish,等待配置完畢。如果你的CUDA安裝正確會檢測到你的CUDA版本。在配置過程中會聯網下載點東西,如果這時候網絡不好的話會報錯,在Cmake編譯的Log文件中有需要下載的文件和文件對應的網址,可以等網絡好的時候再聯網下載,將下載好的文件放入原位置即可。
在這裏插入圖片描述在完成第一次配置後,出現一片紅色,再點一次配置就變白了。變白後改變其中的三個選項:
1.注意勾選WITH_CUDA(帶了cuda後,以後發佈程序到其他電腦上都要帶cuda的DLL文件,所以慎重選擇)
2.勾選BUILD_opencv_world選項,這樣,在調用dll時,只調用這一個就行了,不用根據功能選擇了,省了些麻煩。
3.在OPENCV_EXTRA_MODULES_PATH選項中,填寫opencv_contrib解壓目錄下,modules文件夾的路徑,這樣就把opencv_contrib編譯進去了。
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述按Generate按鍵,生成vs工程文件了。 生成完畢之後在 “ Configuring done"下面會出現”Generating done"。之後直接點擊“Open Project",便會使用VS2019打開工程。
在這裏插入圖片描述
在 VS2019界面 點擊 “ 生成”->“配置管理器”,在配置管理器中選擇 “ALL_BUILD"和”INSTALL“ ,生成即可 。

選擇Debug x64,點擊生成->生成解決方案開始編譯。

然後將編譯選項調整爲Release x64,再重複一下以上的過程,生成解決方案。此時在“目的路徑”的install目錄下,生成了調用dll的全部內容。

如果沒有選INSTALL可以右擊INSTALL,點擊“僅用於項目->僅生成INSTALL”
在這裏插入圖片描述生成成功後繼續編譯Release版本,最後可以在指定輸出文件夾下的install文件夾下找到編譯輸出內容
在這裏插入圖片描述
最後參考之前的配置opencv的方法來配置就好了。

注意

因爲勾選了With CUDA,以後再發布程序exe的時候不止需要配opencv的dll,還要添加cuda的dll。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章