C++__vs2017配置opencv_遇到的坑


第一步:下載opencv安裝包

官網下載地址:https://opencv.org/releases.html#

二、解壓下載文件

雙擊下載好的或者拷好的安裝包,選擇解壓路徑后點Extract即可完成解壓,解壓后會自動生成一個opencv的文件夾,如下圖所示:

下圖中的文件夾如果配置環境比較多的筒子們還是非常眼熟的。

第三步:配置系統變量(WIN10)

將你解壓的opencv文件夾中的***opencv\build\x64\vc14\bin路徑添加到當中。這里我是選擇了vc14這個子文件夾,也可以選擇15,但后面要做出相應調整,所以不妨就vc14咯!

注意:路徑粘貼后記得點確定,並在外面點能點的確定全點選一遍!

第四步:相關文件的配置

注意:網上很多教程沒有這一步,會報那種找不到dll文件的錯誤,是因為沒有將opencv里面的相關文件復制到C盤中的文件夾里面

操作方法:將bin目錄下面的opencv_world341.dll和opencv_world341d.dll文件復制到C:\Windows\SysWOW64這個文件夾里面即可

將bin目錄里面的opencv_ffmpeg341_64.dll復制到C:\Windows\System32這個文件夾里面(詳細看圖)

如果是opencv其他的版本,把對應的dll文件移動到上述兩個C盤文件夾即可!

第五步:進入VS2017配置屬性管理器進行相關配置

1、新建一個vs2017項目,項目名字為opencv_FirstPro

2、點擊左下角的解決方案--->opencv_FirstPro--->右擊點擊屬性--->vc++目錄--->包含目錄

     將:D:\OpenCV\opencv\build\include  和  D:\OpenCV\opencv\build\include\opencv2添加進去

     將:D:\OpenCV\opencv\build\x64\vc14\lib路徑添加到庫目錄中去

3、以上兩步的最終效果:

4、鏈接器->輸入->附加依賴項中加入

opencv_world400d.lib

注意:博主后面了解到release|X64的配置為可選項,后面也有熱心讀者提醒,所以下面的這一步可以不做,因為編譯時只用到了debug,release是發布程序時才會用到。

 

注意:如果是opencv其他版本,只需要將將上述的依賴項文件稍作修改即可;eg:如果是opencv版本4.0.1,只需要將dll名字改為opencv_world401d.lib即可,依次類推!

第六步:測試環節!

注意:由於很多人遇到圖片無法輸出的情況,在此特地添加一條需要注意的事項,讀入圖片路徑時有兩種方法。

(1)絕對路徑(圖片放在電腦中的任意位置)

eg:Mat img = imread("F:\\suoxiaotu\\poyanghu縮小圖.tif");

注意這個地方的雙斜杠很重要,直接弄過來的圖片途徑是只有一個斜杠的,兩個斜杠的原因應該是第一個斜杠是轉義字符。

(2)圖片路徑(圖片在使用該圖片的cpp文件中的文件夾下)

eg:Mat img = imread("poyanghu縮小圖.tif");

這個地方有兩點需要注意:第一個就是大家的圖片格式一定要分清楚,建議自己右鍵查看目標圖片的屬性,另一個就是要注意這樣做的前提條件就是你的圖片就在你所建工程的目錄下。不然會顯示找不到圖片。

 1 #include <iostream>  
 2 #include <opencv2/core/core.hpp>  
 3 #include <opencv2/highgui/highgui.hpp>  
 4 
 5 
 6 using namespace cv;
 7 
 8 int main()
 9 {
10     // 讀入一張圖片(poyanghu縮小圖)    
11     Mat img = imread("C:\\Users\\YiYA\\Desktop\\YiYA.jpg");
12     // 創建一個名為 "圖片"窗口    
13     namedWindow("圖片");
14     // 在窗口中顯示圖片   
15     imshow("圖片", img);
16     // 等待6000 ms后窗口自動關閉    
17     waitKey(6000);
18     return 0;
19 }
實例代碼

執行結果:

遇到的坑1:

解決方法:將x86換成x64就可以了

 遇到的坑2

opencv4是把cv.h文件去掉,融合成了圖像處理的imgproc 頭文件。
同時,要在自己的opencv安裝目錄下搜一下是否有該文件,然后在去查opencv庫版本的想使用函數的該版本屬於那個頭文件,還要注意函數因為版本問題有可能有修改。
如果有關人臉識別的頭文件face類的,需要下載contrib
參考:https://blog.csdn.net/bboytd_lyg/article/details/78457260

另外寫成#include <opencv2/core/core.hpp>的原因是core.hpp在路徑opencv2/core下,所以要這么寫,否則只寫#include <core.hpp>是會報錯的

 

參考博客:

https://blog.csdn.net/qq_41175905/article/details/80560429

https://blog.csdn.net/qq_41175905/article/details/80560429

opencv 中 最小二乘直線擬合fitline測試:

https://blog.csdn.net/sinat_31425585/article/details/77985993

 


免責聲明!

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



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