OpenCV2.4.5+VS2012+Win7环境搭建
本来觉得配置很简单,但是还是会有人经常出错,所以还是贴出这种入门帖了,对于新手,一定不要自作主张,一定要仔细按我写的做
OpenCV 下载链接,先把这个下下来。
http://opencv.org/downloads.html
参考文献
http://www.opencv.org.cn/index.php/VC_2010_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.3
1.首先解压OpenCV
任意目录都可,中文可能不支持,没试过
比如我这里是
D:\ProgramFiles\OpenCV\OpenCV-2.4.5
2.新建一个Win32控制台工程
3.添加属性页
属性页就是工程的配置文件,保存了工程的所有配置信息。以后新建工程的时候只需要添加该属性页就可以了,不用重新一步一步的配置。后续所有的配置步骤都是针对属性表。
如下图,选择添加新项目属性表,比如命名为PropertySheetDebug,为了发布方便按照同样的方法右击Release |Win32 添加发布版的属性表,命名为PropertySheetRelease.
添加后如图
4.添加OpenCV头文件目录
双击PropertySheetDebug,在弹出的对话框中依次选择"->"VC++目录"->"包含目录",包含
D:\ProgramFiles\OpenCV\OpenCV-2.4.5\opencv\build\include;
D:\ProgramFiles\OpenCV\OpenCV-2.4.5\opencv\build\include\opencv
D:\ProgramFiles\OpenCV\OpenCV-2.4.5\opencv\build\include\opencv2
如图
5.配置lib路径
与添加头文件目录一样,右击属性页PropertySheetDebug选择"->"VC++目录"->"库目录"填入
D:\ProgramFiles\OpenCV\OpenCV-2.4.5\opencv\build\x86\vc11\lib
注意
X64对应64位操作系统,但是推荐选x86尽管你是64位系统
VC11 对应VS2102,VC10对应VS2010
6.设置环境变量
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下
D:\ProgramFiles\OpenCV\OpenCV-2.4.5\opencv\build\x86\vc11\bin
7.加依赖项 Additional Dependencies
同样右击属性页PropertySheetDebug-->[链接器 LINKER]->[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]:
opencv_calib3d245d.lib
opencv_contrib245d.lib
opencv_core245d.lib
opencv_features2d245d.lib
opencv_flann245d.lib
opencv_gpu245d.lib
opencv_highgui245d.lib
opencv_imgproc245d.lib
opencv_legacy245d.lib
opencv_ml245d.lib
opencv_objdetect245d.lib
opencv_ts245d.lib
opencv_video245d.lib
同样右击属性页PropertySheetRelease按照上面的步骤添加release版本的动态链接库
opencv_contrib245.lib
opencv_core245.lib
opencv_features2d245.lib
opencv_flann245.lib
opencv_gpu245.lib
opencv_highgui245.lib
opencv_imgproc245.lib
opencv_legacy245.lib
opencv_ml245.lib
opencv_objdetect245.lib
opencv_ts245.lib
opencv_video245.lib
注意到后缀都是d了吗?那是对应Debug,Release的属性页添加的依耐性没有d。
还有此版本为2.4.5,所以所有库后面都带有245,如果是2.4.6则应是246.
8.重启电脑/注销
9.运行程序
代码如下
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
constchar* imagename= "lena.jpg";
//从文件中读入图像
Mat img= imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr,"Can not load image %s\n", imagename);
return-1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return0;
}
编译如果通过的话,在项目文件下(与cpp文件同目录)放一张jpg图片文件名为lena.jpg,然后运行,这是我的lena.jpg
如果想要自己追踪代码调试,参考下面的链接,不过不建议新手这样做。
Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV