最近要做圖像處理方面的工作围俘,所以花一些時(shí)間搭了OpenCV。過程略痛苦,故將VS2013配置OpenCV2.4.13的經(jīng)歷寫下來赁温,希望能幫到大家。
配置前的準(zhǔn)備
Visual Studio 2013 OpenCV 2.4.13
配置過程
Step 1 設(shè)置環(huán)境變量
首先淤齐,依次進(jìn)入控制面板
->系統(tǒng)
->高級(jí)系統(tǒng)設(shè)置
股囊,選擇環(huán)境變量
,在path
中加入C:\Program Files\opencv\build\x86\vc12\bin
這里更啄,為了適應(yīng)不同需求稚疹,我把32位和64位的都加入了path
.
Step 2 編寫配置文件
下面是已經(jīng)做好的配置文件,急著用的童鞋可以先拿去用~
如果不急著用祭务,我會(huì)在下面慢慢講述怎么用Visual Studio制作配置文件
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>C:\Program Files\opencv\build\include\opencv2;C:\Program Files\opencv\build\include\opencv;C:\Program Files\opencv\build\include;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Platform)'=='Win32'">C:\Program Files\opencv\build\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">C:\Program Files\opencv\build\x64\vc12\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_calib3d2413d.lib;opencv_contrib2413d.lib;opencv_core2413d.lib;opencv_features2d2413d.lib;opencv_flann2413d.lib;opencv_gpu2413d.lib;opencv_highgui2413d.lib;opencv_imgproc2413d.lib;opencv_legacy2413d.lib;opencv_ml2413d.lib;opencv_nonfree2413d.lib;opencv_objdetect2413d.lib;opencv_ocl2413d.lib;opencv_photo2413d.lib;opencv_stitching2413d.lib;opencv_superres2413d.lib;opencv_ts2413d.lib;opencv_video2413d.lib;opencv_videostab2413d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_calib3d2413.lib;opencv_contrib2413.lib;opencv_core2413.lib;opencv_features2d2413.lib;opencv_flann2413.lib;opencv_gpu2413.lib;opencv_highgui2413.lib;opencv_imgproc2413.lib;opencv_legacy2413.lib;opencv_ml2413.lib;opencv_nonfree2413.lib;opencv_objdetect2413.lib;opencv_ocl2413.lib;opencv_photo2413.lib;opencv_stitching2413.lib;opencv_superres2413.lib;opencv_ts2413.lib;opencv_video2413.lib;opencv_videostab2413.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
將文件保存為opencv2413.props
備用~
Stepp 3 使用配置文件
打開Visual Studio 2013内狗,新建一個(gè)c++項(xiàng)目。在視圖
->其他窗口
中打開屬性管理器待牵。
然后選中我們的工程項(xiàng)目其屏,右鍵
->添加現(xiàn)有屬性表
就可以了~
Step 4 測試opencv是否配置成功
在項(xiàng)目源文件中新建一個(gè)c++文件,輸入以下代碼:
#include<stdio.h>
#include"highgui.h"
int main(int argc, char** argv){
IplImage *img = cvLoadImage("E:\\2.jpg"); //cvLoadImage()的參數(shù)為圖片的完整路徑名
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}
如果運(yùn)行產(chǎn)生圖片缨该,即為配置成功偎行。
如何生成配置文件
首先,在屬性資源管理器
中添加新項(xiàng)目屬性表
Step 1 添加OpenCV文件
選擇 [VC++目錄]贰拿,編輯右邊的[包含目錄]蛤袒, 把
C:\Program Files\opencv\build\include
C:\Program Files\opencv\build\include\open
C:\Program Files\opencv\build\include\open2
這三個(gè)目錄添加進(jìn)去。這樣用include添加openCV的頭文件的時(shí)候才不會(huì)出錯(cuò)找不到文件膨更。
Step 2 添加OpenCV庫參考文件
編輯右邊的 [庫目錄]妙真,把openCV庫函數(shù)的路徑 C:\Program Files\opencv\build\x64\vc12\lib
添加進(jìn)去(注意到Visual Studio 2013需要使用vc12這個(gè)目錄,而不是vc11荚守,而且對(duì)應(yīng)是64位的操作系統(tǒng)所以選擇x64這個(gè)目錄)珍德。讓Visual Studio在編譯程序的時(shí)候,能夠搜索到這個(gè)目錄以調(diào)用openCV的函數(shù) 矗漾。
Step3 在鏈接器的輸入里面添加lib文件
選擇左邊的 [鏈接器]锈候,再選擇 [輸入],修改右邊的 [附加依賴項(xiàng)] 把C:\Program Files\opencv\build\x64\vc12\lib
目錄下的所有以*.lib為擴(kuò)展名的文件名添加進(jìn)去敞贡,以添加lib文件(步驟8是添加庫函數(shù)的搜索 目錄泵琳,這一步是添加具體的lib文件。)在這里以d結(jié)尾的文件對(duì)應(yīng)debug模式,而不是以d結(jié)尾的文件對(duì)應(yīng)release模式获列。
debug模式
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
release模式
opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib
點(diǎn)擊確定
,我們就做好了一個(gè)項(xiàng)目屬性表~
PS: 我在前面提供的屬性表更加“聰明”谷市,他可以根據(jù)不同模式和平臺(tái)選擇不同的文件哦~