【opencv學習筆記】001之opencv配置(win10+VS2015+OpenCV3.1.0)

shuiyixin發表於2018-05-20

一、前言(吐槽+煽情+簡介)  

        1.吐槽

        為啥這個時候我要發這個呢?其實我是想以後有空的時候再發,因為最近事情比較多,但是,昨天發生了一件非常悲傷的事情,電腦電池炸了,電腦電池炸了,電腦電池炸了。

        不由得安慰自己:天將降大任於斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其生,行拂亂其所為,所以動心忍性,增益其所不能。

        2.煽情

        在這裡,我還是要感謝一下一個人,一個我生命中最重要的男人,他對自己“小氣”了一輩子,出去工作,捨不得亂花一分錢,但他還是會傾其所有來滿足我,他說,這個時候,你要好好學習,不要因為別的擾亂你自己,如果有用,再買一個。對,這個人就是我的爸爸。父愛如山,我以後也會成為一個父親,所以,首先我要做一個好兒子,好好努力,讓父母為我而驕傲。

        所以,如果你看了我的部落格,我希望你不僅能學到知識,更希望你能知道,你有這個好的機會來學習,總會有人在你背後默默付出,你要努力,為了自己,也要為了在你背後默默付出的人。

        最後一句煽情:爸爸,我愛你。

        3.簡介

        OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,可以執行在Linux、Windows、Android和Mac OS作業系統上。它輕量級而且高效——由一系列 C 函式和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的介面,實現了影象處理和計算機視覺方面的很多通用演算法。
        OpenCV用C++語言編寫,它的主要介面也是C++語言,但是依然保留了大量的C語言介面。該庫也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的介面。這些語言的API介面函式可以通過線上文件獲得。如今也提供對於C#、Ch、Ruby的支援。

        我在學習的時候,所有免費的文件,文章,都是關於2.4.9的,最開始想過用2.4.9,後來自己買了教程,用的是3.1.0,所以自己也用了3.1.0。

        最近幾年人工智慧突然火了,機器學習,深度學習更是遍地開花,神經網路更是為人們所熟知。所以從3.3.0版本的opencv開始支援神經網路。如果要學習神經網路,建議用3.3.0以上的,但是最好不要用最新的,這個最新不是說最高的,而是說,假如2018年5.19號剛剛釋出,你今天就要用,可能網上都沒有相關教程,特別是opencv2.0版本和3.0版本有些是不一樣的,api名字都不一樣,萬一最新版有改版,或者不支援你的編譯環境,作為初學者,你遇到問題,解決方案都找不到,除非你身邊有大牛。當然你如果是一個相關領域的大牛,可以選用最新版,感受一下新版的各方面特性,這個官網也應該會有相關的文件的,最為大牛的你,這個問題對你來說,不是問題。

        還有就是本文不講vs2015的安裝與配置,因為vs2015不是一個簡簡單單的庫,你需要根據自己的需要去選擇一些功能。這裡就不再贅述了。

二、相關檔案下載

        vs2015:百度會有很多下載位置,自由選擇。這裡就不再提供啦。

        opencv3.1.0:https://download.csdn.net/download/shuiyixin/10426142。

opencv安裝

        雙擊opencv3.1.0開啟,選擇安裝目錄,記住,一定要養成一個習慣:能不安裝在C盤就不要安裝在C盤。如果電腦有很多盤,最好有一個盤是放安裝軟體和安裝包的,想做一個程式設計師,一定要讓自己的檔案歸類清晰一點。一般會有如下的資料夾和檔案。

三、配置變數環境

        這一步的步驟順序如下,然後大家看圖就好了:

       【計算機】->【(右鍵)屬性】->【高階系統設定】->【高階(標籤)】->【環境變數】->“雙擊”系統變數中的PATH->在變數值裡面新增相應的路徑。

             

 

        在路徑配置中填寫 ”…… opencv\build\x64\vc14\bin”,很多人發現,X64中有兩個資料夾:

        VC12和VC14,很多人不明白這個是什麼意思?這個其實是VS對應的版本號。詳細的對應如下:

 

Visual Studio 6 vc6                   
Visual Studio 2003 vc7
Visual Studio 2005 vc8
Visual Studio 2008 vc9
Visual Studio 2010 vc10
Visual Studio 2012 vc11
Visual Studio 2013 vc12
Visual Studio 2015 vc14

        所以如果你是2013的也可以啦。因為3.1.0下面有VC12。支援VS2013。

四、配置2015

1.VC++下的包含與庫目錄

新建一個c++專案,在專案名稱右鍵選擇屬性。進入下面這個介面,我們首先需要配置包含目錄和庫目錄

        在右側點選,進入編輯。

        然後按照下面的框框,從上往下點,將目錄複製到框裡儲存,一共儲存三個:

        “...\opencv\build\include”; “...\opencv\build\include\opencv”; “...\opencv\build\include\opencv2”

        用同樣的方式在庫目錄中新增“...\opencv\build\x64\vc14\lib”。

2.連結器下的配置

在連結器下的輸入中,開啟附加依賴項,並輸入:

        opencv_world310.lib;opencv_world310d.lib;

注意點

理論上,所有的工作就做完了,然後就可以除錯執行啦。大家可以複製如下原始碼。注意imread()函式是讀取圖片,括號裡面是“路徑+圖片名稱”。並且要用正斜槓,或者兩個反斜槓。如果用一個反斜槓,會被認為是轉義字元的字首。

五、測試原始碼及問題解決

#define INPUT_TITLE "input image"


#include<iostream>
#include<opencv2\opencv.hpp>

using namespace std;
using namespace cv;

int main() {
	Mat src;
	src = imread("E:/image/src.jpg");
	if (!src.data)
	{
		cout << "ERROR : could not load image.";
		return -1;
	}

	namedWindow(INPUT_TITLE, CV_WINDOW_AUTOSIZE);
	
	imshow(INPUT_TITLE, src);
	waitKey(0);
	return 0;
}

        然後,報錯了。這個是因為你不是在C盤安裝的,程式找不到該檔案。解決方案如下:

     將bin目錄(...\OpenCV\build\x64\vc12\bin)中的3個dll檔案複製在(C:\Windows\System32)或者(C:\Windows\SysWOW64)中。

        解決了這個問題,就能正確輸出啦。

六、輸出效果圖

        如果大家有什麼問題,有什麼別的解決不了的問題,可以在下方留言哦!

相關文章