轉載 https://www.cnblogs.com/xinxue/p/5766756.htmlhtml
OpenCV 3.4 版本,聖誕節前發佈了,該版本新增了一種去掉視頻背景的算法,dnn 模塊的進一步改進,速度的提高,以及一些新添加的 tutorials 等等。 本文以 Win10 64 位 爲例,介紹用 cmake 編譯 OpenCV 的過程 (若是是 32 位系統,則對應 32位 的 cmake 和 Qt 軟件) 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.3,對應 qt-opensource-windows-x86-5.9.3.exe,下載地址 https://www1.qt.io/download-open-source/#section-2 注:雖然 Qt 是開源的,可是在下載時,須要自行註冊帳號,而且遵照一些開源的協議 1.3 cmake 下載 cmake-3.10.0-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/tag/3.4.0 最後,將兩個 zip 包解壓縮,等待編譯。 2 cmake 編譯 注意: cmake 在編譯過程當中,會自動下載一些文件,例如 opencv_ffmpeg.dll 等,所以須要保持網絡暢通。 2.1 運行 在解壓後的 cmake 目錄中,找到 /bin 下的 cmake-gui.exe,點擊運行,以下所示 其中, source 路徑指向解壓後的 「opencv-master」,build 路徑可指向本身建的一個 「build」 文件夾 注: 此處誤將 source 路徑指向了 "opencv-master/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-master 的路徑 ,精確到 /modules 目錄 再次點擊 Configure 進行配置,可能須要 Configure 兩三次以後,紅色區域才能徹底消失。 最後,點擊 Generate,出現 「Generating done」 則意味着 cmake 的工做結束了。 2.3 VS 生成 2.3.1 Python 問題 由於電腦中裝了 Python 3.6.2,結果在下面步驟的 Debug 模式下,生成時出現了以下錯誤: 這是由於安裝 python 時,並不會安裝 debug 版本,因而,回到 python 安裝界面,選擇 debug 版本 如此,則可在 debug 模式下,順利生成相應的庫文件。 2.3.2 生成庫 進入到生成的 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_face330d.lib 4 Qt 下的配置 1) 環境變量 與 VS 的配置同樣,添加 path 變量值 D:\opencv\build\x64\vc14\bin; 另外,不要忘記添加 Qt 的 path 變量值 D:\Qt\Qt5.9.3\5.9.3\msvc2015\bin; 2) 頭文件和庫文件 以簡單的讀圖程序爲例,須要在新建的 Qt 工程配置文件中,添加以下代碼: LIBS += -L$$PWD/../../opencv/build/x64/vc14/lib/ -lopencv_highgui340d \ -lopencv_core340d \ -lopencv_imgproc340d \ -lopencv_imgcodecs340d INCLUDEPATH += $$PWD/../../opencv/build/include 可根據具體的須要,適當添加新的庫文件,好比,用於人臉識別的 opencv_face340d,深度神經網絡 opencv_dnn340d 等等。 配置完成,盡情享受 OpenCV 的世界吧 ^_^ 參考資料 vs12 vs2013 下opencv3.0配置擴展模塊 Icoding_F2014 更新記錄 2017年05月09日: 升級爲 Win 64 位系統,CMake 3.8.1,OpenCV 3.2,Qt 5.8,結果在 「2.3 2) INSTALL 生成」 處卡了,生成不成功。 2017年10月12日: 升級爲 Win10 64 位系統,CMake 3.10.0,OpenCV 3.3,Qt 5.9.1,生成並配置成功。 2017年12月26日: 升級爲 OpenCV 3.4,Qt 5.9.3,生成並配置成功。