OpenCV+VS開發環境配置

最近跑C程序,頭文件中用到了OpenCV中的文件,找了不少篇OpenCV+VS的環境配置,發現以下這篇寫的最爲詳細,特轉載來本身的博客中留存,並附上原博客地址以下html

OpenCV學習筆記(一)——OpenCV3.1.0+VS2015開發環境配置ios

摘要:工具

        因爲最近AR(加強現實)這個概念很是火爆,各類基於AR的應用及遊戲逐漸面向大衆,而在AR中最重要的兩個技術就是跟蹤識別和加強渲染,其中跟蹤識別是經過OpenCV這個開源的計算機視覺庫來實現的,因此我就想着研究一下這個庫,這裏是我的的學習筆記,不是什麼權威的教程,若是大家有錯誤也麻煩幫我指出哈。學習

前言:測試

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

1、準備工做:

1.下載OpenCV安裝包:

    到OpenCV的官網(http://opencv.org/)下載最新版本的OpenCV安裝包,因爲OpenCV針對不一樣平臺都有安裝程序,因此咱們只須要根據當前開發環境選擇合適的平臺版本便可,這裏咱們是在win7 64bit操做系統下進行開發,因此應該下載OpenCV for Windows:spa

    咱們選擇了當前的最新版本3.1,下載完畢後,咱們獲得其安裝文件:opencv-3.1.0.exe操作系統

    

2.安裝Visual Studio 2015

 

2、安裝配置:

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

        注意:環境變量配置完畢以後,須要重啓電腦才能生效!

        另注:Win下配置了環境變量不須要重啓就能夠生效的,打開命令提示符執行:echo %PATH%,就能夠刷新它了。

 

3.VS 2015配置:

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

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

        

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

 

        指定創建的工程爲空白工程:

        

        創建完工程以後,咱們選中解決方案欄中的Resource Files目錄(即源碼目錄),而後新建一個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下的庫是哪幾個,添加成依賴項就能夠了。

 

3、實踐:

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

複製代碼
#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; int main(){ // 讀入一張圖片(遊戲原畫) Mat img = imread("pic.jpg"); // 建立一個名爲 "遊戲原畫"窗口 namedWindow("遊戲原畫"); // 在窗口中顯示遊戲原畫 imshow("遊戲原畫", img); // 等待6000 ms後窗口自動關閉 waitKey(6000); } 
複製代碼

    將圖片pic.jpg複製到工程目錄下面,與源碼位於同一目錄:

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

    

 

4、可能出現的問題:    

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

    

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

    

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

    

    出現這個問題通常可能有兩個緣由:

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

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

    

相關文章
相關標籤/搜索