VS2017+OPENCV3配置
來自專欄 OpenCV3自學札記
OPENCV下載並安裝:
從官網下載opencv:OpenCV library
安裝:
隨便找個地方解壓一下就行了。。。
只需要看build這個文件夾就行了,其它不用管。
VS2017下載並安裝:
下載VS2017:Visual Studio IDE、代碼編輯器、VSTS 和應用中心
如果是只用C++的話,就只選這個。默認下一步就可以了。
下載安裝搞定之後,測試一下:
1.新建項目:
建立一個空項目,位置隨意。。。
2.新建cpp文件:
3.配置屬性頁(編譯器和鏈接器):
這裡選擇debug | x64
ps:如果建立的是win32程序的話,就在win32裡面新建。另外,如果在配置完屬性頁後,卻仍然inlcude頭文件的時候出現「找不到源文件」情況,請轉至文末問題2。
新建屬性頁。
雙擊它,就出現了這個。
按照順序,然後添加包含目錄。
你opencv安裝在哪,就選擇哪裡。一直選到.../include這裡。然後就點確定。
然後是添加庫目錄。
選中……/vc15這個文件夾。
ps:vc15對應VS2017,vc14對應VS2015,如果用的是VS2015,那就選……/vc14。
然後配置鏈接器。
手動輸入opencv_world341d.lib。
這個341對應的是opencv的版本號。
別的版本的話需要做相應的修改。「341d.lib」這個d對應的是debug,如果使用的是release模式,那就不要加d。
註:千萬不要同時添加「341.lib」和「341d.lib」。否則編譯不會出錯,但是運行可能會出錯。詳見文末問題3。
4.配置環境變數:
在環境變數,Path,然後添加路徑。
opencv安裝在哪裡,就添加到哪裡,……/bin目錄下放的是鏈接器程序。同樣的,VS2017選擇vc15這個目錄。
5.全部搞定之後,做個測試:
#include <opencv2/opencv.hpp>using namespace cv;int main() { Mat srcImage = imread("image.jpg"); namedWindow("test"); imshow("test", srcImage); waitKey(0); return 0;}
把image.jpg放到這個目錄下,然後點Project10.exe運行一下試試。
這樣就全部OK了。
下面是我初次嘗試過程中遇到過的各種小問題:
問題1:
之前用dev c++搞的ACM,換了VS2017做開發之後,發現VS2017不支持單個cpp文件的編譯,必須先建立項目。然後生成解決方案(F7),生成解決方案,就是對全項目進行編譯。或者也可以編譯單個文件,但是同樣必須先建立項目,然後選擇文件進行編譯。
問題2:
配置完了屬性頁之後,還是查找不到include的源文件。
原因是這個:
這個玩意兒默認是x86,之前配置的是debug x64,所以要換成x64,就沒問題了。
問題3:
之前自己配的時候,查了一些資料,有些人說鏈接器依賴項那裡「opencv_world341.lib」和「opencv_world341d.lib」兩個都要添加,其實只要添加一個(媽的之前查了半天代碼沒問題,結果問題是這個)。
兩個都加可能會出問題。比如namedwindow()和imshow()衝突。。
還是之前的測試程序。兩個都添加之後,編譯依然能夠通過。但是運行後出現了兩個窗口。
問題4:
配置完一次屬性頁後,新建項目,結果發現原先配置的屬性頁沒了。
這是因為VS的屬性配置不是永久保存的,新建項目就會重置。如果想要省事,減少再次配置的麻煩,那就把之前配置的屬性頁保存一下,下次新建的時候重新添加就行了。
順著目錄可以找到這個,這個就是之前配置的屬性頁。把它挑出來隨便找個地方放著,比如放到桌面。下次進去重新添加即可。
康明與
kshenkey@foxmail.com
2018-5-15
推薦閱讀:
※【機器視覺】1. 張正友平面標定法
※【論文筆記】Unlabeled Samples Generated by GAN Improve the Person Re-identification Baseline in
※使用三維信息優化搜索結果的嘗試
※[CVPR2018筆記]Disentangled Person Image Generation
※如何用flask部署pytorch模型