OpenCV 4.3 編譯和配置


  OpenCV 4.3.0 版本,在4月份發布了,新加的功能說明如下:

    https://github.com/opencv/opencv/wiki/ChangeLog#version430

  其中,imgproc 模塊的 HoughCircles() 函數,新加了檢測算法 HOUGH_GRADIENT_ALT,精度得到了很大的提升

            

  另外,國內團隊 Open AI Lab 將他們的 Tengine 庫集成到了DNN 模塊中,提升了 DNN 運行在 ARM 平台中的速度

            

本文以 Win10  64 位 為例,簡述 cmake 編譯 OpenCV 過程 (如果是 32 位系統,則對應 32位 的 cmake 和 Qt 軟件)

1  下載准備

1.1  Win10

  Windows 10 專業版,64 位

  注:安裝 VS 2019 時,要求操作系統 Win7 SP1 以上版本

1.2  VS or Qt

  選擇一: Visual Studio 2019,社區版,下載鏈接  https://www.visualstudio.com/downloads/

  選擇二: VS2019 + Qt 5.12.8,對應 qt-opensource-windows-x86-5.12.8.exe,下載地址 http://download.qt.io/archive/qt/

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

1.3  cmake

  下載 cmake-3.17.1-win64-x64.zip 壓縮包,到 /bin 目錄下,點擊 cmake-gui 運行。

  注:根據操作系統的不同,選擇相應的版本,cmake 下載頁  https://cmake.org/download/  或  https://github.com/Kitware/CMake/releases

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

      

 

    最后,將兩個 zip 包解壓縮,等待編譯。

 

2  cmake 編譯

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

2.1 運行

  在解壓后的 cmake 目錄中,找到 /bin 下的 cmake-gui.exe,點擊運行,如下所示

  

  其中, source 路徑指向解壓后的 “opencv-4.3.0”,build 路徑可指向自己建的一個 “build” 文件夾

  注: 此處誤將 source 路徑指向了 "opencv-4.3.0/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-4.3.0 的路徑 ,精確到 /modules 目錄

    

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

  最后,點擊 Generate,出現 “Generating done” 則意味着 cmake 的工作結束了。

2.3  VS 生成   

2.3.1  Python 問題

    因為電腦中裝了 Python 3.6.4,結果在下面步驟的 Debug 模式下,生成時出現了如下錯誤:

   

    這是因為安裝 python 時,並不會安裝 debug 版本,於是,回到 python 安裝界面,選擇 debug 版本

   

  如此,則可在 debug 模式下,順利生成相應的庫文件。  

2.3.2  生成庫

    進入到生成的 build 目錄下,用 Visual Studio 打開 OpenCV.sln

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

     

  將 install 目錄下生成的所有文件,拷貝到需要進行 OpenCV 配置的文件夾中 ( 32 位操作系統,則會生成 x86 文件夾)

   

 

3  VS 下的配置

  1)  環境變量

      計算機 -> 屬性 -> 高級系統設置 -> 環境變量,編輯系統變量里的 path 變量,為其添加變量值 D:\opencv\430\x64\vc16\bin\debug

     

  2)  頭文件和庫文件

      頭文件: D:\opencv\430\include

      庫文件: D:\opencv\430\x64\vc14\lib\debug

    

  3)  依賴項

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

    可根據需要,添加相應的靜態庫。 例如,人臉識別時,用到 face 模塊,可在依賴項中,添加 opencv_face4xxd.lib

    

 

4  Qt 下的配置

 1)  環境變量

  與 VS 的配置一樣,添加 path 變量值 D:\opencv\430\x64\vc16\bin\debug;

  另外,不要忘記添加 Qt 的 path 變量值 D:\Qt\Qt5.12.8\5.12.8\msvc2017_64\bin;

 2)  頭文件和庫文件

  以簡單的讀圖程序為例,需要在新建的 Qt 工程配置文件中,添加如下代碼:

LIBS += -L$$PWD/../../opencv/430/x64/vc16/lib/debug -lopencv_highgui430d \
        -lopencv_core430d \
        -lopencv_imgproc430d  \
        -lopencv_imgcodecs430d

INCLUDEPATH += $$PWD/../../opencv/430/include

 可根據具體的需要,適當添加新的庫文件,比如,用於人臉識別的 opencv_face430d,深度神經網絡 opencv_dnn430d 等等。

    配置完成,盡情享受 OpenCV 的世界吧 ^_^

 

更新記錄

    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,CMake 3.10.0,生成並配置成功。

    2018年05月03日: 升級為 Opencv 3.4.1,Qt 5.9.5,CMake 3.10.3,生成並配置成功。

    2018年11月21日: 升級為 Opencv 4.0.0,Qt 5.9.6,CMake 3.13.0,新加的 opencv_gapi 模塊出現編譯錯誤,生成不成功,其它模塊生成並配置成功。

                                 

    2019年4月11日:升級為 OpenCV 4.1.0,Qt 5.12.2,CMake 3.14.1,還是 opencv_gapi 模塊出現編譯錯誤,生成不成功,其它模塊生成並配置成功。

    2019年10月10日:升級為 OpenCV 4.1.1,Qt 5.12.5,CMake 3.15.4,仍有 opencv_gapi 模塊出現編譯錯誤,生成不成功,其它模塊生成並配置成功。

    2020年04月12日:升級為 OpenCV 4.3.0,Visual Studio 2019,Qt 5.12.8,CMake 3.17.1生成並配置成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM