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,下載地址
注:雖然 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