Win10 下,使用 CMake + VS2015 + python3 + 第三方庫(opencv_contrib) 配置和編譯 OpenCV 4.5.1


導讀

  僅記錄供內部參考。

      本文將重點放在 編譯第三方庫 和 生成對應的 python 庫(yd文件)上 。


目錄
  1. 軟件和源碼准備
  2. 使用 CMake 生成 OpenCV 解決方案目
  3. 編譯生成
  4. 參考鏈接
1、軟件和源碼准備

注:操作系統為 Windows 10

軟件

Visual Studio 2015

Python 3.6.8

 CMake 工具

下載 opencv 源碼

https://github.com/opencv/opencv.git

https://github.com/opencv/opencv_contrib.git

 

組織內部使用:(外部參考文章者可忽略)

https://gitee.com/kingstoneai/opencv.git

https://gitee.com/kingstoneai/opencv_contrib.git

(另外還有解決 網絡問題,提前下載好的 [opencv/.cache]壓縮包)

 

 

2、使用 CMake 生成 OpenCV 解決方案
操作步驟

1、使用 CMake (gui) 打開 opencv\CMakeLists.txt,置構建輸出的目錄

 

 2、點擊 Configure 開始配置,指定項目生成器目標為 “Visual Studio 14 2015 Win64”  (這里希望生成 64 位的版本)

 

3、如果出現如下錯誤,忽略(該提示 提到 配置 PYTHON2_EXECUTABLE 選項,這里使用 python3 )

 

4、下載文件失敗錯誤(這個是由於腳本中下載的地址是 github,而這個被牆了)

 

解決辦法:根據 log 文件提示,自己下載對應的文件,放置到對應提示的目錄位置

 

文件自行下載。

組織內部可快捷下載我先下好的 文件(百度雲盤,提取碼1234)(外部參考文章者可忽略)

 

 下載完成后,放入 opencv/.cache 目錄下對應的位置后,再點擊 Configure, 可看到相關的下載錯誤提示消失了

-------------------------------------------------------------------------------------

本文重點內容: 編譯第三方庫 和 生成對應的 python 庫(yd文件

5、設置對應的第三方庫目錄

這里只希望編譯 wechat_qrcode 模塊,設置 額外模塊路徑為 modules/ wechat_qrcode (如果希望編譯所有額外的 庫,可以指定 modules 目錄)

 

6、設置 python3 相關參數

 

 

 

 (一開始參考一篇博客填寫 PYTHON3_LIBRARY 為 python36.dll,  后續編譯出錯了,這里應該填寫  D:/development/python/python368/Libs/python36.lib 才對)

 

 其中的 numpy 是一個拓展數學計算庫,需要先提前安裝:

 

 下載完成后,按建議,將 Scripts 目錄加到環境變量

 

 

 

配置完后,點擊 configure,確認 python3 是否已經被識別(如果沒有出現 Build_pencv_python3 ,請重新清空 緩存,刪除生成的目錄,重新 配置,直到出現)

 

7、設置其他參數

勾選 BUILD_opencv_world:將.lib或者.dll文件統一整合進一個world文件中,方便使用

 

 

 去除一些下一節提到的 “不建議勾選的項”

8、其他忽略的提示:

遇到如下提示,忽略即可:(參考https://zhuanlan.zhihu.com/p/106689372 第五步)

 

 9、最后,檢查配置內容,點擊 Generate 完成方案的生成

 

 

相關 CMake 配置參數說明
  • BUILD_opencv_world :將.lib或者.dll文件統一整合進一個world文件中,方便使用。但若想只使用一部分模塊可不勾選以減少體積。生成動態鏈接庫dll需要勾選BUILD_SHARED_LIBS 。
  • ENABLE_CXX11 :       支持C++11特性
  • OPENCV_EXTRA_MODULES_PATH :若使用opencv_contrib模塊,則在此處填寫解壓后的路徑,如 …\opencv_contrib-3.3.1\modules\
  • BUILD_EXAMPLES :項目文件中會包含sample工程,按需勾選。
  • INSTALL_C_EXAMPLES :將在install文件夾中編譯出一些示例程序(但都是.exe,因此想參考最好還是看sources中的源代碼)
不建議勾選
  • BUILD_DOCS :生成文檔,需要安裝Doxygen,文檔可在官網查看。
  • BUILD_opencv_ts :一些單元測試代碼,參考文章1 。
  • INSTALL_TESTS :與開發無關,參考文章1 。
  • BUILD_opencv_saliency :文章2 中指出win10下不能勾選,但實際上並未發現此項。

        文章1 中還提供了很多模塊及項目的解釋,可根據自己需要修改。
————————————————
原文鏈接:https://blog.csdn.net/howlclat/article/details/78783701

3、編譯生成

打開解決方案 OpenCV.sln

 

如下圖,批量構建:

 

 

 根據電腦配置,等待30分鍾至1個小時編譯。

編譯結果:

 

 

值得注意的是,這里 pyd 生成時,release 下可以正常生成

 debug 下這邊提示錯誤(該點可參考文章解決:https://www.cnblogs.com/lzhu/p/8198654.html)

 

編譯完成后,構建 INSTALL 項目,完成安裝:

 

百度雲盤:opencv-4.5.1-vc14-wechat_qrcode.zip  提取碼:1234

 構建說明:

opencv 構建節點:

commit 1363496c1106606684d40447f5d1149b2c66a9f8 (HEAD -> v4.5.1-dev, tag: 4.5.1, gitee/v4.5.1, v4.5.1) Author: Alexander Alekhin <alexander.a.alekhin@gmail.com> Date: Mon Dec 21 20:01:38 2020 +0000 

opencv_contrib 構建節點:

commit 0165d48da48b169420cd4d70867b991bd48543e8 (HEAD -> master, origin/master, origin/HEAD, gitee/master) Author: Dimitrios Psychogyios <d.psychogyios@gmail.com> Date: Mon Mar 1 11:52:49 2021 +0000 
4、參考鏈接

參考鏈接:

使用 CMake + VS2017 ( + Python 3) 配置和編譯 OpenCV 3.3

python3.6安裝numpy包筆記 

 


免責聲明!

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



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