1. 程式人生 > >opencv3.4.1 編譯與配置

opencv3.4.1 編譯與配置

轉載自:https://www.cnblogs.com/xinxue/p/5766756.html

1  下載準備

1.1  Win10

  Windows 10 專業版,64 位

  注:安裝 VS 2015 時,要求作業系統 Win7 Service Pack 1 以上

1.2  VS or Qt

  選擇一: Visual Studio 2015,專業版,下載連結  https://www.visualstudio.com/downloads/

  選擇二: VS2015 + Qt 5.9.5,對應 qt-opensource-windows-x86-5.9.5.exe,下載地址 

http://download.qt.io/archive/qt/

  注:雖然 Qt 是開源的,但是在下載時,需要自行註冊賬號,並且遵守一些開源的協議

1.3  cmake

  下載 cmake-3.10.3-win64-x64.zip 壓縮包,到 /bin 目錄下,點選 cmake-gui 執行。

  注:根據作業系統的不同,選擇相應的版本,cmake 下載頁  https://cmake.org/download/

1.4  OpenCV

  首先,選擇 “Source code”,下載 GitHub 中的 OpenCV 原始碼

  GitHub 連結  https://github.com/opencv/opencv/releases

 其次,按照類似的步驟,在 GitHub 中下載 opencv_contrib 的原始碼壓縮包

  GitHub 連結 https://github.com/opencv/opencv_contrib/releases

2  cmake 編譯

  注意: cmake 在編譯過程中,會自動下載一些檔案,例如 opencv_ffmpeg.dll 等,因此需要保持網路暢通。

2.1 執行

  在解壓後的 cmake 目錄中,找到 /bin 下的 cmake-gui.exe,點選執行,如下所示

 其中, source 路徑指向解壓後的 “opencv-3.4.1”,build 路徑可指向自己建的一個 “build” 資料夾

  注: 此處誤將 source 路徑指向了 "opencv-3.4.1/modules",導致 Configure 時出現如下錯誤

2.2  配置

2.2.1  opencv-maste

  設定好路徑後,點選左下角的 Configure 按鈕,彈出視窗,如下所示

 點選 Finish 按鈕,繼續,此時主介面的 Configure 按鈕變為 Stop,表示配置進行中

  注意:如遇到問題,先檢查錯誤資訊;然後,點選 File -> Delete Cache,退出 cmake-gui,並將 build 資料夾內的內容清空,再重複步驟 2.1 和 2.2,

等 Configure 依次結束後,如果 cmake 的主介面仍有紅色區域,則再次點選 Configure 進行配置,直到紅色區域完全消失。

下圖是 Configure 完成後的介面,紅色消失,只剩白色的區域

2.2.2  opencv_contrib-master

  找到 Name 下的 OPENCV_EXTRA_MODULES_PATH,為其設定 opencv_contrib-3.4.1 的路徑 ,精確到 /modules 目錄

再次點選 Configure 進行配置,可能需要 Configure 兩三次之後,紅色區域才能完全消失。

  最後,點選 Generate,出現 “Generating done” 則意味著 cmake 的工作結束了。

2.3  VS 生成庫檔案   

進入到生成的 build 目錄下,找到 OpenCV.sln,使用 VS 2015 開啟。

    找到 INSTALL,分別在 Debug 和 Release 模式下,根據系統選擇 x86 或 x64,右鍵 -> 生成

 將 install 目錄下生成的所有檔案,拷貝到需要進行 OpenCV 配置的檔案中 ( 32 位作業系統的會生成 x86 資料夾)

 

3  VS 下的配置

  1)  環境變數

      計算機 -> 屬性 -> 高階系統設定 -> 環境變數,編輯系統變數裡的 path 變數,為其新增變數值 D:\opencv\build\x64\vc14\bin

2)  標頭檔案和庫檔案

      標頭檔案: D:\opencv\build\include

      庫檔案: D:\opencv\build\x64\vc14\lib

3)  依賴項

    生成的 lib 庫,格式為 “opencv_modulename_version_d.lib”,帶 "_d" 的對應 Debug 模式,不帶的對應 Release 模式。

    可根據程式的需要,新增相應的靜態庫。 例如,人臉識別時,用到 face 模組,可在依賴項中,新增 opencv_face341d.lib