1. 程式人生 > >VS2017配置opencv教程(超詳細!!!)

VS2017配置opencv教程(超詳細!!!)

前言:剛開始是不打算寫這篇部落格的,但是我最近為了完成對老師佈置的區域生長演算法,強行要配置一波opencv

,因為換了電腦,所以選擇了有黑黑主題酷酷的VS2017,但無奈網上的部落格關於vs2017配置Opencv不夠全(vs2010配置opencv的倒是賊多!),我當時是看了將近10篇文章才配置成功,所以在此我來從一個新入坑的角度來說一下怎麼完整的配置一個OPencv!下面就分步來進行說明吧!

注意:不是博主這個版本的opencv本教程也是實用的,只需要改一點點東西就行,後面會進行提示!

第一步:下載opencv安裝包

下載的途徑有三種:

1、官網下載

在此,說明一下,沒有必要去根據博主 的部落格下載與部落格相應的版本,其實只需要改一點點東西即可,後面進行說明,官網下載真的是賊頭大,首先下載好好的突然說下載中斷,而且無法恢復,此外,還慢,畢竟外網,沒有辦法。一個安裝包大概100多M,而下載速度只有50多K(校園網20K,對面宿舍寬頻50K),所以最後我實在無法忍受,已經失敗了N次,時間緊,就沒必要在這一棵樹上撞死。

但是網好的朋友也可以試試,在此我給出官網的網址,大家可以根據自己情況選擇合適的版本(我的是3.4.1版本)

網址:https://opencv.org/releases.html#

2、網上資源

靠譜的是CSDN等博主提供的安裝包,但是是要C幣的,我一般不會充值的,所以如果條件允許的話可以選擇這個

https://download.csdn.net/download/yu2439/10369150?utm_source=bbsseo(其中的一個網址)

還有一個建議就是不要去嘗試在一些釣魚網站去下載opencv,我上回為了下載一個matlab破解版,雖然一路小心翼翼,最終下載了將近7、8個捆綁軟體,連解除安裝時也給我加兩個。。。。

3、身邊同學或者一起搞編輯的朋友們啊

我的opencv就來自我對面宿舍的同學,他在官網下載成功了,直接用U盤拷過來用,還不是美滋滋,在此我給個百度網盤連結:opencv3.41

二、解壓下載檔案

雙擊下載好的或者拷好的安裝包,選擇解壓路徑後點Extract即可完成解壓,解壓後會自動生成一個opencv的資料夾(圖2)

圖3中的資料夾如果配置環境比較多的筒子們還是非常眼熟的。

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

1、找到此電腦(圖4)

2、右鍵->屬性->高階系統設定->環境變數

找到系統變數中的path變數,雙擊它,點選新建,將你解壓的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、新建一個專案,我這裡建了一個空專案

2、進入屬性管理器,選單欄->檢視->其他視窗->屬性管理器

3、對Debug|X64進行配置,右鍵Microsoft.Cpp.x64.user,點選屬性

4、這裡我們對屬性中的 VC++目錄->包含目錄和VC++目錄->庫目錄進行新增相關路徑,對 連結器->輸入->附加依賴項進行新增相關路徑

5、包含目錄中加入

F:\OPENCV\opencv\build\include

F:\OPENCV\opencv\build\include\opencv

F:\OPENCV\opencv\build\include\opencv2

庫目錄中加入

F:\OPENCV\opencv\build\x64\vc14\lib

6、連結器->輸入->附加依賴項中加入

opencv_world341d.lib

7、注意:這一步超級超級關鍵!

對Release|X64進行配置,右鍵Microsoft.Cpp.x64.user,點選屬性

連結器->輸入->附加依賴項中加入

opencv_world341d.lib

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

第六步:勾選微軟符號伺服器

其實到上一步已經配好了,但是到了關鍵時候VS2017總是說我少各種dll檔案,百度上面說不用理這種錯誤,可以選擇勾選微軟符號伺服器來下載缺失的dll檔案

操作步驟:左鍵除錯->選項->常規 勾選啟動源伺服器支援

符號那一項勾上微軟符號伺服器

注意:可以用一個資料夾來快取下載的dll檔案,只是第一次載入,不用擔心。或者,你也可以等載入完了之後,再把之前勾選的取消掉,也沒有問題。 我建了一個資料夾,後面發現它下載了很多pdb檔案!

注意:到上面所有工作,opencv已經配完了,注意解決方案平臺那一欄要換成X64(因為我們一直都在配X64)

第七步:測試環節!

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

(1)絕對路徑

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

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

(2)圖片路徑

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

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

#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  

using namespace cv;

int main()
{
	// 讀入一張圖片(poyanghu縮小圖)    
	Mat img = imread("F:\\suoxiaotu\\poyanghu縮小圖.tif");
	// 建立一個名為 "圖片"視窗    
	namedWindow("圖片");
	// 在視窗中顯示圖片   
	imshow("圖片", img);
	// 等待6000 ms後窗口自動關閉    
	waitKey(6000);
	return 0;
}

輸出:

以上,配置完成!