1)在网站上下载OpenCV安装包
下载地址:http://www.opencv.org.cn/index.php/Download
选择OpenCV for Windows, superpack进行下载
2)右键OpenCV-2.3.1-win-superpack.exe,在Windows7下要选择,以管理员身份运行,在弹出窗口中选择解压路径,将其解压到某一目录下,如:C:\ProgramFiles (x86)\opencv。
3)配置VC
配置include路径
打开MicrosoftVisual Studio 2010,View-->Property Manager,在窗口左侧原来的Solution Explorer的位置出现Property Manager页面,选择Debug|Win32下面的Microsoft.Cpp.Win32.user,弹出Microsoft.Cpp.Win32.user Property。(选择下图中的1和2均可,打开同一窗口)在弹出的窗口中,找到VC++Directories进行针对Debug的目录配置。在Include Directories中,加入目录:
C:\Program Files (x86)\opencv\build\include
C:\Program Files (x86)\opencv\build\include\opencv
C:\Program Files (x86)\opencv\build\include\opencv2
(选择Tools-->Options-->Projects and Solutions-->VC++ Directories,不能设置VC++全局目录,出现VC++Directories editing in Tools-->Optionshas been deprecated。VS2010中设置VC++目录有两种方法,一是通过项目属性页面Project Property Pages逐个项目的设置,另外一个方法是通过属性管理Property Manager进行全局设置)。
配置lib路径
在Library Directories中加入:C:\ProgramFiles (x86)\opencv\build\x86\vc10\lib
设置环境变量
需要将OpenCV的dll文件所在的目录添加到环境变量Path里。
32位系统& VC2010,dll目录为:C:\Program Files (x86)\opencv\build\x86\vc10\bin
由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:
32位系统& VC2010:C:\Program Files(x86)\opencv\build\common\tbb\ia32\vc10
设置完环境后重启电脑,使得环境变量生效。
4)配置完后运行一个小例子。
打开VS2010,建立一个Win32空的控制台程序helloopencv
设置项目属性,在Solution Explorer的helloopencv上右键选择Properties,在弹出的helloopencv Property Pages窗口中,在链接器Link下的输入Input,为项目的Debug配置增加附加依赖项Additional Dependecies:
opencv_calib3d231d.lib; opencv_contrib231d.lib;opencv_core231d.lib; opencv_features2d231d.lib; opencv_flann231d.lib;opencv_gpu231d.lib; opencv_highgui231d.lib; opencv_imgproc231d.lib;opencv_legacy231d.lib; opencv_ml231d.lib; opencv_objdetect231d.lib; opencv_ts231d.lib;opencv_video231d.lib
(可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK: fatal error LNK1104: 无法打开文件“…….lib”
同理,为项目的Release选项增加依赖项,操作过程类似,只是在helloopencv最左侧的Configuration中,下拉选项选择“Release”即可。Release中需要增加的依赖项为:
opencv_calib3d231.lib; opencv_contrib231.lib;opencv_core231.lib; opencv_features2d231.lib; opencv_flann231.lib;opencv_gpu231.lib; opencv_highgui231.lib; opencv_imgproc231.lib;opencv_legacy231.lib; opencv_ml231.lib; opencv_objdetect231.lib; opencv_ts231.lib;opencv_video231.lib (可根据实际需要删减)*
为项目添加test.cpp。内容如下(编译运行下面的例程(需要将core.jpg文件放在项目目录下,即与生成的.exe文件同位置,该文件在目录C:\Program Files (x86)\opencv\doc\tutorials\images下):
/***********************************************************************
* OpenCV 2.3.1 测试例程
* 于仕琪 提供
***********************************************************************/
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "core.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
编译程序,查看程序运行结果(新打开一窗口显示图片)。