下面開始介紹如何配置,我用的系統是win8.1 64位系統,vs用的是vs3013 ultimate,先到官網下載opencv 我用的的版本是最新的版本3.0 ALPHA,下載下來直接執行即可,實際上就是解壓,我解壓到D:\Program Files文件夾下。
配置環境變量,右擊我的電腦選擇屬性,在左側選擇高級系統設置,會彈出系統屬性對話框,
點擊環境變量,點擊新建環境變量,變量名可以任意,我在這起的是OPENCV,將變量值設為opencv/build的路徑
添加路徑,點擊編輯path,在path中添加;%OPENCV%\x86\vc12\bin,其中vc12對應的是vs2013,vc11對應的是vs2012,vc10對應的是vs2010,根據自己的版本進行選擇
新建opencv的工程屬性表,在opencv目錄下新建opencv300. props,可以新建一個txt文檔,將后綴名改為.props即可,下面是我的屬性工程表,第7,8行分別是32位和64位平台,如果沒有定義系統變量,里面的$(OPENCV)可以換成絕對路徑,我的是D:\Program Files\opencv\build,在vc12下面有3個文件夾bin,lib,staticlib,將lib和staticlib添加到LibraryPath中,可能版本不同需要添加的也不同,主要是查看vc12有哪些文件夾,並且文件夾里包含文件名含有300的lib文件添加到LibraryPath中,300是指opencv的版本為opencv3.0.0,vc12根據vs版本不同也不同,第12行和第15行開始的是包含的lib文件,其中第12開始包含的是文件名含有300但不以d結尾的lib文件,其中第15開始包含的是文件名含有300以d結尾的lib文件,你可以根據自己的opencv版本進行修改。
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 <PropertyGroup> 6 <IncludePath>$(OPENCV)\include;$(IncludePath)</IncludePath> 7 <LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)\x86\vc12\staticlib;$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath> 8 <LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\staticlib;$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath> 9 </PropertyGroup> 10 <ItemDefinitionGroup> 11 <Link Condition="'$(Configuration)'=='Debug'"> 12 <AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;opencv_calib3d300.lib;opencv_core300.lib;opencv_features2d300.lib;opencv_flann300.lib;opencv_highgui300.lib;opencv_imgcodecs300.lib;opencv_imgproc300.lib;opencv_ml300.lib;opencv_objdetect300.lib;opencv_photo300.lib;opencv_shape300.lib;opencv_stitching300.lib;opencv_superres300.lib;opencv_ts300.lib;opencv_video300.lib;opencv_videoio300.lib;opencv_videostab300.lib;%(AdditionalDependencies)</AdditionalDependencies> 13 </Link> 14 <Link Condition="'$(Configuration)'=='Release'"> 15 <AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;opencv_calib3d300d.lib;opencv_core300d.lib;opencv_features2d300d.lib;opencv_flann300d.lib;opencv_highgui300d.lib;opencv_imgcodecs300d.lib;opencv_imgproc300d.lib;opencv_ml300d.lib;opencv_objdetect300d.lib;opencv_photo300d.lib;opencv_shape300d.lib;opencv_stitching300d.lib;opencv_superres300d.lib;opencv_ts300d.lib;opencv_video300d.lib;opencv_videoio300d.lib;opencv_videostab300d.lib;%(AdditionalDependencies)</AdditionalDependencies> 16 </Link> 17 </ItemDefinitionGroup> 18 <ItemGroup /> 19 </Project>
編輯完項目屬性表后,在vs中新建空項目test, 打開視圖->其他窗口->屬性管理器,
在屬性管理器中添加寫好的opencv300. props屬性文件,在右側邊欄中選擇屬性管理器,右擊test,選擇添加現有屬性表,
找到opencv300.props添加就可以了,
至此環境就配好了,運行一個實例程序吧,還有要說的是每次新建項目都需要添加opencv300.props,要將圖片放進項目里面的test文件中,是里面的test文件夾,即test\test下。
1 #include <opencv2/core/core.hpp> 2 #include <opencv2/highgui/highgui.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace std; 7 8 int main(int argc, char** argv) 9 { 10 11 Mat image; 12 image = imread("opencv.jpg", IMREAD_COLOR); // Read the file 13 14 if (!image.data) // Check for invalid input 15 { 16 cout << "Could not open or find the image" << std::endl; 17 return -1; 18 } 19 20 namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display. 21 imshow("Display window", image); // Show our image inside it. 22 23 waitKey(0); // Wait for a keystroke in the window 24 return 0; 25 }
結顯示出的圖片是這樣的
本文參考《vs2010+Opencv-2.4.0的配置攻略》 ,《Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)》和《opencv教程》