天天看點

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015

  • 安裝所需軟體/庫
  • Step1. 下載下傳安裝Anaconda3
  • Step2. 下載下傳安裝cmake 3.14
  • Step3. 下載下傳安裝CUDA 10.0
  • Step4. 下載下傳安裝cuDNN 7.6
  • Step5. 使用VS和CUDA編譯測試檔案
  • Step6. 下載下傳安裝TBB
  • Step7. 下載下傳編譯opencv-4.0.0和contrib
  • 支線任務

Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015)

參考資料:

  • windows 10 64bit下安裝Tensorflow+Keras+VS2015+CUDA8.0 GPU加速;
  • Win10 下Cmake編譯配置 Opencv3.1 + Cuda7.5 + VS2013;
  • WIN10 + OpenCV3.4 + CUDA8.0 + Cmake3.9.0 + TBB + VS2015配置/重編譯;
  • Win10安裝CUDA10和cuDNN;
  • OpenCV 3.1.0 重編譯——支援CUDA8.0;
  • opencv+cuda編譯出現LNK2019 cv::__termination錯誤;
  • 圖像品質評價方法PSNR+SSIM&&評估名額SROCC,PLCC.

---------------------- 超長文多圖預警!!! ----------------------

安裝所需軟體/庫

  •  Anaconda3;
  •  cmake 3.14;
  •  CUDA 10.0;
  •  cuDNN 7.6;
  •  opencv-4.0.0;
  •  opencv_contrib-4.0.0;
  •  TBB 2019.

我下載下傳的軟體和庫如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

Step1. 下載下傳安裝Anaconda3

點選連結:Anaconda3,進入下載下傳頁面,注意先選擇Windows系統,再點選Download進行下載下傳,如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下載下傳完成開始安裝軟體。其他步驟可以選擇預設,直接點選Next>。安裝路徑也可以使用預設的安裝位置(C槽),這裡我改在了D盤, 可根據個人喜好選擇。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

路徑選好後,下面這一步,記得把紅框部分都勾選上,然後點選Install,等待安裝:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

安裝完成之後,打開cmd指令視窗,輸入

<span style="color:#000000"><code>python -V
</code></span>
           
  • 1

出現

Python 3.7.3 :: Anaconda, Inc.

證明安裝成功。

下圖我自己安裝了3.7.2的版本,是以顯示結果稍有差别。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

Anaconda3下載下傳安裝完畢!

Step2. 下載下傳安裝cmake 3.14

進入cmake 3.14下載下傳頁。選擇适合個人作業系統的 .msi 檔案進行下載下傳,比如我個人的電腦是64位作業系統,選擇 cmake-3.14.5-win64-x64.msi ,如下圖所示;如果是32位,則選擇 cmake-3.14.5-win32-x86.msi 。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下載下傳完成,先把之前安裝的舊版本cmake解除安裝掉,才可安裝新版本cmake。(如果電腦已安裝cmake,也可嘗試不安裝新版本,使用舊版本cmake進行編譯,也許同樣能編譯成功)

安裝進入下圖界面注意選擇第三項,添加cmake到系統路徑,下面是否建立桌面圖示根據個人喜好勾選,選好後點選Next進入下一步。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

安裝路徑根據個人喜好修改,這裡我把C槽改成了D盤。如不願意修改,也可以安裝到預設路徑C:\Program Files\CMake\。路徑修改好後,直接點選Next進入下一步,開始軟體安裝。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

安裝完成後出現以下畫面,點選Finish,結束安裝。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

cmake安裝完畢!

Step3. 下載下傳安裝CUDA 10.0

進入CUDA 10.0下載下傳頁。Win10作業系統,可按照下圖深綠色部分進行選擇;如果非Win10,則根據個人作業系統選擇合适的選項。選好後點選下圖紅色框内的Download進行下載下傳。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下載下傳完成後,打開安裝程式。提示将CUDA的安裝檔案提取到臨時檔案夾中,提取路徑可選擇預設(提取到C槽)或自定義,然後點選OK。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

等待檔案提取:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

提取結束,出現NVIDIA程式安裝界面:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

出現以下畫面,AGREE AND CONTINUE點起來。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

選擇Custom(Advanced),然後NEXT。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

這裡,全都要,然後NEXT。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

這裡進入關鍵一步,選擇安裝位置,可選擇預設或自定義。這些路徑在後面配置環境變量的時候需要用到,一定要注意保持一緻。比如在這裡我都安裝在了D盤,之後環境變量也要寫D盤的路徑。都選好後點選NEXT,開始安裝。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

等待安裝:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

安裝完成後,NEXT。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

然後CLOSE,結束安裝。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

安裝完成,配置系統環境變量。首先确認是否下圖的兩項環境變量:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

将剛才CUDA安裝路徑添下的相應檔案夾添加到Path中,如下圖:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

驗證CUDA是否安裝成功。cmd或是PowerShell中輸入:

nvcc -V

如正确安裝,則會出現以下輸出結果:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

CUDA安裝、配置完成!

Step4. 下載下傳安裝cuDNN 7.6

點選此連結:cuDNN 7.6,進入下載下傳頁。下載下傳前必須登陸NVIDIA賬号,如果已有NVIDIA賬号,點選Login,進入登陸界面;如果沒有賬号,則需要注冊以後登陸。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

登陸界面如下,輸入注冊好的賬号和密碼,點選Login進入下載下傳頁。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

進入下載下傳頁面後先勾選同意條款 I Agree To… ,然後選擇與cuda版本對應的cuDNN庫,我們這裡選擇第一個 … for CUDA 10.0 ,然後Win10系統選擇 cuDNN Library for Windows 10 ,開始下載下傳cuDNN庫。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下載下傳完成後解壓檔案,解壓出來的cuda目錄下包含如下内容:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接着,我們将以上檔案夾中的檔案,複制到已安裝的cuda檔案夾的相應位置下:

  • 将bin中的 cudnn64_7.dll ,複制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;
  • 将include中的 cudnn.h ,複制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include;
  • 将lib\x64中的 cudnn.lib ,複制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64.
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

請根據個人安裝cuda的路徑,找到檔案複制的位置。如果之前cuda的安裝路徑為預設路徑,則把上面的路徑的盤符D:都改為C:即可找到相應路徑。

以上檔案都複制完以後,将庫路徑D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64,添加到環境變量中。(同樣地,路徑需要根據個人情況做相應修改)

點選右下角的Environment Variables環境變量按鈕:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

輕按兩下Path行進入編輯環境變量界面:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

右邊點選New建立按鈕,添加紅色方框内的路徑:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

cuDNN安裝、配置完畢!

Step5. 使用VS和CUDA編譯測試檔案

進入D:\Program Files\NVIDIA Corporation\CUDA Samples\v10.0檔案夾,打開Samples_vs2015.sln這個工程:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

編譯生成1_Utilities中所有的檔案。注意紅框部分選擇Release和x64。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

如果編譯成功,則可以看到下圖提示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

在D:\Program Files\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64\Release中會生成一些應用程式和庫檔案,我們隻需要deviceQuery.exe和bandwidthTest.exe進行驗證。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

在檔案夾空白處Shift+滑鼠右鍵,選擇Open PowerShell window here,打開PowerShell

視窗,運作deviceQuery.exe。視窗輸入:

.\deviceQuery.exe

顯示Result = Pass,表示安裝測試成功。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接下來運作bandwidthTest.exe,視窗輸入:

.\bandwidthTest.exe

同樣的,顯示Result = Pass,表示安裝測試成功。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

VS和CUDA編譯測試完畢!

Step6. 下載下傳安裝TBB

點此連結下載下傳TBB 2019, 下載下傳頁面如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下載下傳後,根據個人喜好,可将檔案解壓到任意路徑,這裡解壓到了D:\Program Files目錄下,如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

然後設定環境變量,将D:\Program Files\tbb2019_20190410oss_win\tbb2019_20190410oss\bin\intel64\vc14添加到Path中:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

TBB安裝、配置完成!

Step7. 下載下傳編譯opencv-4.0.0和contrib

點選以下連結進行下載下傳:

  • opencv-4.0.0;
  • opencv_contrib-4.0.0.

建立一個檔案夾,用來存放提取出來的opencv和contrib源碼檔案,友善後續編譯查找和添加路徑,這裡我們命名為opencv400_source(可根據個人喜好命名):

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

再建立一個檔案夾,作為目标檔案夾,編譯後的opencv檔案将會生成到該目錄下,命名為opencv400_CUDA:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

打開D:\opencv400_source\opencv_contrib-4.0.0\modules\cudev路徑下的CMakeLists.txt檔案:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

set(the_description “CUDA device layer”)

下一行增加

set(OPENCV_SKIP_DLLMAIN_GENERATION ON)

這麼做是為了避免後續使用VS2015生成opencv庫檔案時,出現LNK2019 cv::__termination錯誤。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

打開cmake,設定源碼路徑D:\opencv400_source\opencv-4.0.0\sources和目标路徑D:\opencv400_CUDA,然後點選Configure:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

彈出編譯環境選擇界面,選擇Visual Studio 14 2015和x64,然後點選Finish:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接下來進行編譯配置:

  • 添加contrib路徑:D:\opencv400_source\opencv_contrib-4.0.0\modules;
  • 勾選OPENCV_ENABLE_NONFREE;
  • 勾選WITH_CUDA;
  • 勾選WITH_TBB。

然後點選Configure。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

這時還會出現紅色部分,繼續進行相應配置:

  • 添加TBB相關路徑;
  • 去掉勾選WITH_MATLAB。

TBB路徑可對照下圖進行相應添加。去掉勾選WITH_MATLAB,是為了在之後VS2015編譯過程中,避免出現 Error: MEXEXT: Unsupported platform 形式的錯誤。配置完成點選Configure。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

之後出現TBB_VER_FILE的路徑配置,已自動填寫,檢查确認無誤,直接點選Configure。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

表單全白,說明配置沒有問題,點選Generate。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

顯示Generating done,說明cmake編譯opencv順利完成!

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

編譯生成的檔案在目标檔案夾D:\opencv400_CUDA下,用VS2015打開OpenCV.sln工程:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

先不要急着ALL_BUILD,先生成opencv_core和opencv_cudacodec。如果這兩個項目能夠通過,我們再全部生成;如果報錯,說明之前的cmake編譯有問題,根據錯誤提示進行相應的查找和分析,這樣可以節省大量的時間。

生成順序如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

opencv_core生成成功:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

opencv_cudacodec生成成功:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接下來開始ALL_BUILD,生成過程相當漫長,可以該幹嘛幹嘛去。完事回來,蹦出以下錯誤:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

該錯誤提示連結失敗,無法打開opencv_cudabgsegm和opencv_cudaobjdetect的庫檔案。接下來我們單獨對這兩個項目重新生成:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

喜聞樂見,opencv_cudabgsegm生成成功:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

opencv_cudaobjdetect也同樣生成成功:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

這時,我們可以在D:\opencv400_CUDA\lib\Debug目錄下,确認生成相應的.lib檔案:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

重新ALL_BUILD,坐等結果。。。

編譯的過程中可能出現一下三個問題:

  1. 如果遇到boostdesc和vgg的問題,可參考

    fatal error: boostdesc_bgm.i: vgg_generated_80. vgg_generated_120.i沒有那個檔案或目錄文章中提到的辦法解決。所需檔案下載下傳位址:boostdesc,vgg。

    将解壓縮後的檔案放到opencv_contrib/modules/xfeatures2d/src目錄下,用Cmake重新配置一遍,然後重複以上操作即可。

  2. 如果遇到 “features2d/test/test_detectors_regression.impl.hpp”: No such file or directory的問題,可參考VS2015+OpenCV4.1.1拓展子產品配置主要錯誤解決方案中提到的方法解決。
  3. 如果遇到 error LNK1104: 無法打開檔案“python37_d.lib” 的問題,可參考編譯OpenCV缺少python27_d.lib的解決方法的方法來解決。

生成成功!沒有報錯!

這就預示着之後生成INSTALL項目一路坦途一馬平川,該填的坑都填平了,可以哼着小曲小嗨一會兒。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

滑鼠輕輕一抖,INSTALL生成起來。果不其然,生成得舒心又順暢:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

install檔案夾下,出現了相當親切的檔案目錄:bin、include和x64\vc14\lib,接下來大家知道該怎麼做了。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

配置編譯好的opencv。

首先配置環境變量,在Path中添加D:\opencv400_CUDA\install\x64\vc14\bin,登出或重新開機電腦使其生效:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接下來配置VS項目屬性。

建立一個控制台應用程式,在項目名稱上右鍵,然後點選 Properties(屬性):

在 VC++ Directories 中添加 Include Directories 和 Library Directories:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

Include Directories 中添加以下兩個路徑:

D:\opencv400_CUDA\install\include\opencv2

D:\opencv400_CUDA\install\include

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

Library Directories中添加以下路徑:

D:\opencv400_CUDA\install\x64\vc14\lib
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

接下來要輸入附加依賴項,就是在 Linker – Input – Additional Dependencies 裡面,把生成的所有 .lib的檔案名都寫上。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

下面是一個比較便捷的操作,以生成debug的庫名稱為例。在 D:\opencv400_CUDA\install\x64\vc14\lib 檔案夾空白處Shift+滑鼠右鍵,點選 Open PowerShell window here,打開PowerShell指令視窗。

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

輸入以下指令行:

dir *d.lib -Name >debug_lib.txt
cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

在檔案夾中會生成一個名為 debug_lib.txt 的文本檔案,裡面包含了所有debug版本的庫檔案名,如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

Ctrl+A選中全部文本,将所有檔案名複制粘貼到 Additional Dependencies 的文本框中,點選OK:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

到這裡,opencv配置完成!

接下來要做的就是測試剛才編譯生成的opencv庫,看看是否可以正常使用GPU加速。

找到 D:\opencv400_source\opencv-4.0.0\sources\samples\cpp\tutorial_code\gpu\gpu-basics-similarity 檔案夾下的 gpu-basics-similarity.cpp 檔案:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

把該檔案中的内容複制到剛才配置好opencv的測試工程中,注意選擇x64的Debug版本,然後在項目名稱上右鍵,點選Build(生成):

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

項目順利生成:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

到此,opencv編譯和測試全部完成!!!

用GPU盡情加速吧,少年!!!

支線任務

如果你想把這個例程跑起來,就需要對上面的代碼做一定的修改。不難,有興趣的朋友可以自己嘗試。

将下圖作為輸入圖像:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

将原圖縮小5分之一再放大回原尺寸的圖像,作為待測圖像,如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

運作結束,将會得到CPU和GPU運算時間對比,以及圖像品質評價結果,如下圖所示:

cmake編譯opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015安裝所需軟體/庫Step1. 下載下傳安裝Anaconda3Step2. 下載下傳安裝cmake 3.14Step3. 下載下傳安裝CUDA 10.0Step4. 下載下傳安裝cuDNN 7.6Step5. 使用VS和CUDA編譯測試檔案Step6. 下載下傳安裝TBBStep7. 下載下傳編譯opencv-4.0.0和contrib支線任務

繼續閱讀