避免每次新建工程時對OpenCv進行配置一次的狀況,提出OpenCv永久配置,介紹一種經過添加現有屬性表的方式來同時配置Win32和x64,debug和release,並不須要單獨配置環境變量。在這裏很是感謝採石工的分享,以及協助遠程的調試。ide
以2.4.10爲例。新建一個文本文件,將其重命名爲」OpenCV2.0.props」(不要帶引號)。用記事本編輯,拷貝以下內容:函數
1 <?xml version="1.0" encoding="utf-8"?> 2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 <ImportGroup Label="PropertySheets" /> 4 <PropertyGroup Label="UserMacros"> 5 <OpenCVDir>D:\opencv\build\</OpenCVDir> 6 </PropertyGroup> 7 <PropertyGroup> 8 <_PropertySheetDisplayName>opencv</_PropertySheetDisplayName> 9 <LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'">PATH=$(OpenCVDir)\x86\vc12\bin;$(PATH)</LocalDebuggerEnvironment> 10 <LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'">PATH=$(OpenCVDir)\x64\vc12\bin;$(PATH)</LocalDebuggerEnvironment> 11 <IncludePath>$(OpenCVDir)\include;$(OpenCVDir)\include\opencv;$(OpenCVDir)\include\opencv2;$(IncludePath)</IncludePath> 12 <LibraryPath Condition="'$(Platform)'=='Win32'">$(OpenCVDir)\x86\vc12\lib;$(LibraryPath)</LibraryPath> 13 <LibraryPath Condition="'$(Platform)'=='X64'">$(OpenCVDir)\x64\vc12\lib;$(LibraryPath)</LibraryPath> 14 </PropertyGroup> 15 <ItemDefinitionGroup> 16 <Link Condition="'$(Configuration)'=='Debug'"> 17 <AdditionalDependencies>opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_core2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_gpu2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_legacy2410d.lib;opencv_ml2410d.lib;opencv_nonfree2410d.lib;opencv_objdetect2410d.lib;opencv_ocl2410d.lib;opencv_photo2410d.lib;opencv_stitching2410d.lib;opencv_superres2410d.lib;opencv_ts2410d.lib;opencv_video2410d.lib;opencv_videostab2410d.lib;%(AdditionalDependencies)</AdditionalDependencies> 18 </Link> 19 <Link Condition="'$(Configuration)'=='Release'"> 20 <AdditionalDependencies>opencv_calib3d2410.lib;opencv_contrib2410.lib;opencv_core2410.lib;opencv_features2d2410.lib;opencv_flann2410.lib;opencv_gpu2410.lib;opencv_highgui2410.lib;opencv_imgproc2410.lib;opencv_legacy2410.lib;opencv_ml2410.lib;opencv_nonfree2410.lib;opencv_objdetect2410.lib;opencv_ocl2410.lib;opencv_photo2410.lib;opencv_stitching2410.lib;opencv_superres2410.lib;opencv_ts2410.lib;opencv_video2410.lib;opencv_videostab2410.lib;%(AdditionalDependencies)</AdditionalDependencies> 21 </Link> 22 </ItemDefinitionGroup> 23 <ItemGroup /> 24 </Project>
保存OpenCV2.0.props以後,將文件關閉。下面給出OpenCv2.4.12配置屬性詳解,只要修改相應的版本信息就能夠就運行。測試
新建一個Win32 控制檯工程(Win32 Console Application)。在屬性管理器中添加剛纔保存的屬性表。全部不一樣配置能夠使用同一個屬性表。ui
注意:若是屬性表和工程在同一個分區下,那麼工程文件會使用相對路徑。這樣一來,拷貝工程到不一樣的目錄後,工程就不能被正確加載了。因此,建議將屬性表放到某個特定的分區,工程目錄最好跟屬性表不要在同一個分區。控制檯用main函數,win32是WinMain函數,通常建控制檯工程,視狀況而定。spa
在屬性管理器下,右擊工程名,添加現有現有屬性表。若是你找不到屬性管理器,你能夠視圖->其餘窗口->屬性管理器debug
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <cv.h> #include <highgui.h> int main() { IplImage* img = cvLoadImage("E:\\測試圖片\\2016112309\\test.jpg",1); if (!img) { printf("error"); } cvNamedWindow("OpenCV", CV_WINDOW_AUTOSIZE); cvShowImage("OpenCV", img); cvWaitKey(0); cvReleaseImage(&img); cvDestroyWindow("OpenCV"); return 0; }