一、引言
最近在讀源代碼研究CLAHE的演算法,但好久沒學習C++了,發現部分代碼難以理解,因此最后下決心裝一個C++編譯器、下載OpenCV原始碼,這樣碰到疑難問題就可以實際測驗了,構建程序遇到了些問題,參考了部分博文資料,終于搞定,在此將遇到的問題記錄下來,
二、安裝VisualStudio2019
1、找到VisualStudio2019的版本下載并啟動安裝程式
由于微軟已經推出了VisualStudio2022,VisualStudio2019已經成為了歷史版本,在微軟網站中不太好找,請大家參考《怎么找VisualStudio的歷史版本?》找到VisualStudio2019的版本下載,啟動安裝程式,選擇使用C++的桌面開發,如圖:
2、如果安裝程式無法下載安裝內容的解決辦法
如果安裝程式啟動后,停留在下面界面沒有進展最后報無法連接網路:

這個問題一般情況是所在網路的DNS無法識別微軟的網站域名導致的,解決辦法就是在使用網路鏈接的DNS配置上,將DNS改為使用指定的DNS域名服務器地址,首選DNS服務器或備選DNS服務器至少有一個設為114.114.114.114或8.8.8.8即可,如圖:

三、OpenCV版本下載
OpenCV的所有開源版本可以在https://sourceforge.net/projects/opencvlibrary/files/中找到,如圖:

選擇對應的版本后進入對應版本下載頁面,如選擇4.3版本,進去后如圖:
選擇上面標記的opencv-4.3.0-vc14_vc15.exe版本下載,這個版本是windows下與VisualStudio2019配套的版本,
下載后直接解壓到對應目錄即可使用,如老猿將其解壓到:E:\openCV\opencv4.3,
四、在VisualStudio2019中配置OpenCV4.3庫
VisualStudio2019在編譯程式時基于對應平臺(如X64)有debug和release兩種,為了支持利用OpenCV庫在應用開發中使用,針對這2種版本必須都要進行相關設定,下面以release版本為例來介紹,老猿的OpenCV版本為4.3,解壓后的目錄為E:\openCV\opencv4.3,
- 新建一個專案test;
- 調整專案屬性
-
選擇:專案->屬性

進入專案設定,選擇VC++目錄,如圖:

-
設定頭檔案路徑,加入OpenCV頭檔案目錄
將OpenCV頭檔案目錄 E:\openCV\opencv4.3\opencv\build\include 加入到頭檔案目錄中,如圖:

在老猿測驗程序中,發現有時還需要將子目錄opencv2(如E:\openCV\opencv4.3\opencv\build\include\opencv2)加入到頭檔案中才能正常編譯,有時不需要, -
設定庫檔案目錄,將OpenCV庫目錄
將OpenCV庫檔案目錄E:\openCV\opencv4.3\opencv\build\x64\vc15\lib加入到庫檔案目錄,如圖:

-
將庫檔案加入到連接使用檔案中
上步已經將OpenCV庫加到庫目錄中,但連接需要使用哪些庫還需要在此設定,OpenCV提供了Debug庫和release庫,分別對應opencv_worldXXXd.lib和opencv_worldXXX.lib庫,其中XXX是OpenCV版本號,如4.30對應就是opencv_world430d.lib和opencv_world430.lib庫,
需要在連接器->輸入->附加依賴選項中將這2個庫分別檔案加入,如圖為release版本使用opencv_world430.lib庫:

設定DEBUG版本庫則如下:

通過以上步驟,就可以構建一個完整的VisualStudio2019+OpenCV4.3的C++ windows debug模式和release模式的編譯環境,
五、設定環境變數
以上步驟介紹完了,就可以進行程式編譯了,但編譯后的程式需要獨立運行,當使用動態庫時,還必須將OpenCV動態庫加到系統的運行環境變數的path變數中,具體可以參考一下《VisualStudio2019編譯的OpenCV檔案執行時報找不到dll檔案錯》,
六、小結
本文介紹了怎么在windows 64位環境中構建VisualStudio2019+OpenCV4.3的C++ windows編譯環境,需要使得VisualStudio2019支持OpenCV4.3的應用編譯,需要將VC的頭檔案和庫檔案目錄中加入OpenCV相關目錄,并將OpenCV庫檔案連接到VC的工程中,最后,為了程式正常運行,需要設定正確的環境變數指向OpenCV的動態檔案目錄,
參考資料
- 《opencv4.3.0+Visual Studio 2019環境配置》;
- 《怎么找VisualStudio的歷史版本?》;
- 《VisualStudio2019編譯的OpenCV檔案執行時報找不到dll檔案錯》
更多影像處理的內容請參考專欄《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python圖形影像處理 》、《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初學者疑難問題集》及《影像處理基礎知識》的介紹,
寫博不易,敬請支持:
如果閱讀本文于您有所獲,敬請點贊、評論、收藏,謝謝大家的支持!
如對文章內容存在疑問,可在博客評論區留言,或關注:老猿Python 微信公號發訊息咨詢,也可以掃描博客首頁左邊的二維碼關注公眾號,
關于老猿的付費專欄
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt開發圖形界面Python應用》專門介紹基于Python的PyQt圖形界面開發基礎教程,對應文章目錄為《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt開發圖形界面Python應用專欄目錄》;
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音視頻開發專欄 )詳細介紹moviepy音視頻剪輯合成處理的類相關方法及使用相關方法進行相關剪輯合成場景的處理,對應文章目錄為《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音視頻開發專欄文章目錄》;
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初學者疑難問題集》為《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python圖形影像處理 》的伴生專欄,是筆者對OpenCV-Python圖形影像處理學習中遇到的一些問題個人感悟的整合,相關資料基本上都是老猿反復研究的成果,有助于OpenCV-Python初學者比較深入地理解OpenCV,對應文章目錄為《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初學者疑難問題集專欄目錄 》
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬蟲入門 》站在一個互聯網前端開發小白的角度介紹爬蟲開發應知應會內容,包括爬蟲入門的基礎知識,以及爬取CSDN文章資訊、博主資訊、給文章點贊、評論等實戰內容,
前兩個專欄都適合有一定Python基礎但無相關知識的小白讀者學習,第三個專欄請大家結合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python圖形影像處理 》的學習使用,
對于缺乏Python基礎的同仁,可以通過老猿的免費專欄《https://blog.csdn.net/laoyuanpython/category_9831699.html 專欄:Python基礎教程目錄)從零開始學習Python,
如果有興趣也愿意支持老猿的讀者,歡迎購買付費專欄,
老猿Python,跟老猿學Python!
? ? 前往老猿Python博文目錄 https://blog.csdn.net/LaoYuanPython ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/421848.html
標籤:AI
