程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> OpenCV學習筆記(一)——OpenCV開發環境配置

OpenCV學習筆記(一)——OpenCV開發環境配置

編輯:關於C語言

OpenCV學習筆記(一)——OpenCV開發環境配置


摘要:

由於最近AR(增強現實)這個概念非常火爆,各種基於AR的應用及游戲逐漸面向大眾,而在AR中最重要的兩個技術就是跟蹤識別和增強渲染,其中跟蹤識別是通過OpenCV這個開源的計算機視覺庫來實現的,所以我就想著研究一下這個庫,這裡是個人的學習筆記,不是什麼權威的教程,如果你們有錯誤也麻煩幫我指出哈。

=============================================分割線==================================================

 

前言:

什麼是OpenCV?可能還有人不清楚吧,簡單地說,OpenCV——Open Source Computer Vision Library,即開源計算機視覺庫,它是基於C語言和部分C++語言來開發,可用於計算機視覺、圖像處理以及模式識別和跟蹤。

 

一、准備工作:

1.下載OpenCV安裝包:

到OpenCV的官網(http://opencv.org/)下載最新版本的OpenCV安裝包,由於OpenCV針對不同平台都有安裝程序,所以我們只需要根據當前開發環境選擇合適的平台版本即可,這裡我們是在win7 64bit操作系統下進行開發,所以應該下載OpenCV for Windows:

\

我們選擇了當前的最新版本3.1,下載完畢後,我們得到其安裝文件:opencv-3.1.0.exe

\

2.安裝Visual Studio 2015

 

二、安裝配置:

 

1.安裝:

雙擊打開下載好的opencv-3.1.0.exe文件,進行安裝(其實是解壓),選擇安裝目錄:

\

安裝完畢之後,在其安裝目錄下可以看到兩個文件夾:build和sources,其中build是OpenCV使用時要用到的一些庫文件,而sources中則是OpenCV為我們提供的一些demo示范源碼:

\

 

2.環境變量配置:

上面步驟只是完成了安裝,但是要能夠正常使用OpenCV來進行開發,我們還需要進行環境變量的配置,我的電腦—>屬性—>高級系統設置—>環境變量,找到Path變量,選中並點擊編輯:

\

64位系統的需要在path添加“;opencv安裝路徑\build\x64\vc14\bin”(注:英文輸入法中的“;”是分割符,用於與前面其他軟件的配置參數分開),例如我的配置參數應該為:;E:\OpenCV\opencv\build\x64\vc14\bin。在之前的opencv版本中的配置時,32位系統應配置路徑“;opencv安裝路徑\build\x86\vc14\bin”,但是3.1.0版本的OpenCV已經將x86這個目錄刪除了,也就是說在VS 2015環境下不能進行32位的OpenCV編譯。

還有一個要注意的就是x64文件夾下分為vc12和vc14兩個文件夾,他們對應於VS的版本,例如VS2013應使用vc2012,而這裡我們使用的是VS 2015,所以應該使用vc14文件目錄:

\

補充:vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013,vc14 = Visual Studio 2015

 

注意:環境變量配置完畢之後,需要重啟電腦才能生效!

 

3.VS 2015配置:

我們知道要在VS中使用外部的類庫的話,需要進行引入的一下配置,這個配置就包括:外部庫目錄指定和外部包含文件指定。

打開VS 2015,新建一個空白的win32的控制台工程:

\

選擇語言為C++,Win32類型中的控制台工程,並設置工程名稱:

\

指定建立的工程為空白工程:

\

建立完工程之後,我們選中解決方案欄中的ResourceFiles目錄(即源碼目錄),然後新建一個C++源碼文件:

\

設置源碼的文件名,例如:Main,然後創建此源碼文件到工程中:\

在VS中有個叫做“屬性管理器”的工具,用於進行VS整體參數的配置,配置一次之後,以後所有新建項目都能應用改配置,不用再一一進行配置操作,使用起來也非常方便。點擊工具欄中的:View—>Other Windows—>Property Manger打開屬性管理器:

\

在新出現的屬性管理器欄中,展開目錄,選中Debug|Win64中的Microsoft.Cpp.x64.user,並右鍵點擊屬性(Properties)進入屬性界面:

\

1)配置包含目錄:

在通用屬性(Common Properties)—>VC ++目錄—>包含目錄,然後點擊右側三角標志選中Edit進入編輯:

\

向其中添加下面三個路徑:

E:\OpenCV\opencv\build\include

E:\OpenCV\opencv\build\include\opencv

E:\OpenCV\opencv\build\include\opencv2

\

2)配置庫文件目錄:

完成上面的包含目錄配置之後,我們還需要進行庫文件的配置:回到屬性界面,選擇包含目錄下面的Library Directories(庫文件目錄):

\

向庫文件目錄下添加OpenCV的庫文件目錄:E:\OpenCV\opencv\build\x64\vc14\lib,這個目錄根據每個人自己在第一步安裝OpenCV中選擇的目錄進行選定:

\

3)配置動態鏈接庫:

我們可以查看步驟2)中添加的庫文件目錄下面.lib文件列表,發現在3.1.0版本的OpenCV中,僅剩下兩個庫文件,分別是:opencv_world310.lib和opencv_world310d.lib,這裡兩個庫文件的區別就是:opencv_world310.lib是Release模式版本,而opencv_world310d.lib是Debug模式版本:

\

跟上述兩個步驟相似,在屬性界面中打開Linker(鏈接庫)—>Input(輸入)—>Additional Dependencies(添加依賴):

\

將我們剛剛在OpenCV庫文件目錄下看到的兩個庫文件其中一個添加到這裡(根據模式需求Release模式或Debug模式):

\

其實,對已經發行和未來即將發布的新版OpenCV,只需看opencv\build\x86\vc10\lib下的庫是哪幾個,添加成依賴項就可以了。

 

三、實踐:

在完成了上述所有配置工作之後,我們需要進行一次實測,用於驗證以上配置是否成功。這裡我們的測試demo功能很簡單,就是在一個窗口中顯示我們指定的一張圖片。在之前的Main.cpp文件中添加以下代碼:

 

#include 
#include 
#include 

using namespace cv;

int main(){
	// 讀入一張圖片(游戲原畫)  
	Mat img = imread("pic.jpg");
	// 創建一個名為 "游戲原畫"窗口  
	namedWindow("游戲原畫");
	// 在窗口中顯示游戲原畫  
	imshow("游戲原畫", img);
	// 等待6000 ms後窗口自動關閉  
	waitKey(6000);
}
將圖片pic.jpg復制到工程目錄下面,與源碼位於同一目錄:

 

\
運行工程,假如一切都正常的話,會出現如下結果:

\

 

四、可能出現的問題:

1.運行程序時,發現編譯不通過,報一下錯誤:

\

這個錯誤出現的原因是:我們之前說過在VS 2015中不能進行32位的OpenCV的編譯,而且我們整個配置過程都是針對於64位系統而進行的,那麼我們要如何才能讓VS 2015運行64的調試模式呢,其實很簡單,在工具欄中切換一下就好:

\

2.無法加載圖片,提示指針越位:

\

出現這個問題一般可能有兩個原因:

一是圖片後綴名不對或者是目錄存放位置不正確;

二是屬性配置中的動態庫配置中,帶d和不帶d的兩個庫文件配置情況與當前調試模式不對應,可以在解決方案中直接選中當前工程,右鍵進入屬性面板,然後修改其Linker中的Additional Dependencies:

\

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved