开发环境配置过程:
1.到官网下载最新Opencv, 此处用的是2.4.7版本
2.解压opencv 2.4.7.exe到目标文件夹,本人所用目标文件路径:E:\opencv\opencv_2_4_7\opencv
3.配置环境变量,我的电脑——属性——高级——环境变量
编辑PATH:
1)对于32位系统,添加:
"; xx你的安装目录E:\opencv\opencv_2_4_7\opencv\build\x86\vc10\bin”(用“;”进行分隔)
2)对于64位系统,可以两个都添加上:
”; xx你的安装目录E:\opencv\opencv_2_4_7\opencv\build\x86\vc10\bin”
”; xx你的安装目录E:\opencv\opencv_2_4_7\opencv\build\x64\vc10\bin”
配置好环境变量后,最好注销系统后才有效。
vc10, vc11, vc12分别对应于 Visual Studio 2010,Visual Studio 2012,Visual Studio 2013
4. VS2010中的配置
A.工程包含目录配置
(我们的目标是通过操作生成一个单独的OpenCV配置属性表,然后将其导出保存起来,将来在需要用到OpenCV的程序中,直接导入这个保存的属性表即可)
方法一:(单独新建一个属性表,以后每次使用的时候,再导入到属性管理器中->Debug_Win32)
菜单栏里面点<视图>--<属性管理器>,在新出现的“属性管理器”工作区中,
点击项目->Debug|Win32->右击鼠标 添加新项目属性表 ->创建一个新的属性表Opencv_Debug.props->双击打开新建的属性页面->
【通用属性】 ->【VC++目录】 ->【包含目录】中添加
E:\opencv\opencv_2_4_7\opencv\build\include;
E:\opencv\opencv_2_4_7\opencv\build\include\opencv;
E:\opencv\opencv_2_4_7\opencv\build\include\opencv2; 这三个目录
方法二:(好处:一次性设置,以后每次新建项目都会引用这个配置,无需每次都配置 弊端:以后想要改回来,忘记了原来设置就比较困难)
菜单栏里面点<视图>--<属性管理器>,在新出现的“属性管理器”工作区中,
点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右键属性,或者双击)即可打开属性页面。
【通用属性】 ->【VC++目录】 ->【包含目录】中添加
E:\opencv\opencv_2_4_7\opencv\build\include
E:\opencv\opencv_2_4_7\opencv\build\include\opencv;
E:\opencv\opencv_2_4_7\opencv\build\include\opencv2; 这三个目录
注意,根据自己不同的路径修改;
属性管理器”工作区中,点击项目->Debug|Win32->(Opencv_Debug.props)或Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)打开属性页面。
接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中,添加
E:\opencv\opencv_2_4_7\opencv\build\x86\vc10\lib
注意:VS2010中属性管理器中只有Debug|Win32 ,Release|win32, 没有Debug|Win64 和Release|Win64
因此在设置库目录的时候,要选择x86,否则编译会出错。
若有Debug|Win64 和Release|Win64,选择x64;
C. 链接库配置
“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】,添加如下内容:
opencv_calib3d2410d.lib
opencv_contrib2410d.libopencv_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
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
(前面部分带opencv_xxxxd.lib表示Debug的dll文件,后面部分没有后缀d的lib是Release的dll文件)
5.配置成功,让我们来测试一下!
VS2010新建一个项目,添加一个源文件C++.cpp,输入以下代码
#include "stdafx.h"
#include <iostream>
#include <string>
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
// return -1;
}
Mat image;
image = imread("left01.jpg", CV_LOAD_IMAGE_COLOR); // Read the file
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
这段程序可以在你安装目录下的samples\cpp\tutorial_code\introduction\display_image找到,编译后,将图片left01.jpg放到opencvtest.exe相同的目录中去,代码和显示效果如上所示。