在VS中配置並測試opencv


  什么是opencv?

  opencv是一個計算機視覺庫。它目前有兩個分支2.4.X和3.X,2.4.X版本是經典版本,網上的教程資源大多是關於它的,所以推薦使用2.4.X。

  它能幫我做什么?

  這意味着你可以在自己的程序中使用計算機視覺相關功能,但不必關注具體實現。就像你使用電腦,但並不用關注電腦內部的原理。你唯一需要知道的就是如何使用它。

  我該如何使用它?

  這就是本文的工作^-^ 。

  

  1,下載opencv

  首先到opencv官網下載win平台的opencv,解壓后你可以看到下面兩個文件夾——build和sources,build是官方已經為我們編譯好的可以直接使用的,而sources中是opencv的源碼,僅供高級玩家嘗試。

 

  下載下來后可以大致瀏覽一下build文件夾下的內容:

  粗略一看就看到了熟悉的x86與x64(32位用和64位用),還有vc11和vc12,雖然以前沒見過但大致也可以猜出vc11和vc12是指自己的VS中vc版本,我們可以根據自己的系統與vs版本來選擇。

 

  2.配置環境變量

  程序中的可執行文件,必須添加到系統環境變量PATH中才能被系統識別。這就類似一所房子,你必須登記到你的名下,才能使用它。opencv也是一樣,它在某些目錄中提供了一些可執行文件,所以我們必須將這個目錄添加到系統環境變量中。

  比如說我的可執行文件目錄是E:\opencv\build\x64\vc12\bin

  配置如下:

 

  3.配置VS工程

 

    在VS中新建一個win32 application的項目(略)。

 

    3.1 配置頭文件位置

    當你在自己的代碼中使用了opencv中的類或函數時,編譯器並不知道這是個怎樣的物體有什么功能。這就需要我們引用對應的頭文件,因為在對應的頭文件中有關於這個物體的描述,這樣程序才能正確編譯。然而這些頭文件在哪里呢?我們需要告訴編譯器。

    比如我的頭文件目錄是:

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

將其配置到下面的“包含目錄”中:

 

 

    3.2 配置庫文件位置與指定庫文件

    include中的頭文件,只能大致的描繪opencv中的物體是怎樣的有什么功能。但具體的,實現的,可運行的二進制代碼全在庫文件中,也就是lib文件中。只有這些具體實現的二進制代碼鏈接到你的二進制代碼中,程序才能正常工作。然而這些庫文件在哪里呢?我們需要告訴編譯器。

 

    先配置庫文件位置:

    比如我的庫文件位置是 E:\opencv\build\x64\vc12\lib

    將其配置到下面的“庫目錄”中:

    

    然后指定庫文件: 

opencv_calib3d2413.lib
opencv_calib3d2413d.lib
opencv_contrib2413.lib
opencv_contrib2413d.lib
opencv_core2413.lib
opencv_core2413d.lib
opencv_features2d2413.lib
opencv_features2d2413d.lib
opencv_flann2413.lib
opencv_flann2413d.lib
opencv_gpu2413.lib
opencv_gpu2413d.lib
opencv_highgui2413.lib
opencv_highgui2413d.lib
opencv_imgproc2413.lib
opencv_imgproc2413d.lib
opencv_legacy2413.lib
opencv_legacy2413d.lib
opencv_ml2413.lib
opencv_ml2413d.lib
opencv_nonfree2413.lib
opencv_nonfree2413d.lib
opencv_objdetect2413.lib
opencv_objdetect2413d.lib
opencv_ocl2413.lib
opencv_ocl2413d.lib
opencv_photo2413.lib
opencv_photo2413d.lib
opencv_stitching2413.lib
opencv_stitching2413d.lib
opencv_superres2413.lib
opencv_superres2413d.lib
opencv_ts2413.lib
opencv_ts2413d.lib
opencv_video2413.lib
opencv_video2413d.lib
opencv_videostab2413.lib
opencv_videostab2413d.lib

    其實這就是庫文件目錄下的所有庫文件,你可以用cmd進入對應文件夾下,用“dir /b”命令來列出所有lib文件,然后復制到下面的“附加依賴項”中:

    

  4.測試opencv

  我們簡單的測試一下opencv打開一張圖片並顯示,代碼如下:

 1 //讀取圖片並顯示
 2 #include "stdafx.h"
 3 #include<iostream> 
 4 #include <opencv2/core/core.hpp> 
 5 #include <opencv2/highgui/highgui.hpp> 
 6 using namespace cv;
 7 int main()
 8 {
 9     Mat img = imread("D:\\test.jpg");
10      namedWindow("測試opencv");
11      imshow("測試opencv", img);
12     cvWaitKey(6000);
13 }

 

  使用的圖片如下(將圖片保存到D盤根目錄,並改名為test,即與程序中的一致):

  

  有了數據,有了程序,我們就可以運行了,但是千萬別忽略了這個:

  運行效果(略)。

 

   TIP:【VS2013中如何解決error C4996: 'fopen'問題】請參考【http://jingyan.baidu.com/article/ce436649fd61543773afd32e.html】

 

 


免責聲明!

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



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