在vs2010下配置opencv是件痛苦的事情,一点点错误可能就会导致莫名其妙的报错,各种error让人郁闷不已,这里提供给大家一篇vs2010下配置opencv2.4.4的方法,我是64位的win7系统,亲测成功,当然也遇到了一堆的问题,不过在查完各种资料之后都完美解决了,现在奉献给大家。本文的最后附给大家在配置的时候遇到的一些常见问题的解决方法,不保证可以完全解决您遇到的问题,不过大部分都附在下面了。好了,言归正传,我们开始配置吧。

一. 下载OPENCV2.4.4最新版

这个不用多说,网上一搜一大堆,我们这里要配置的是opencv2.4.4,请认准下载。为了方便,下面这个网址就可以,

然后解压缩,放到你选择的一个目录下

二.VS2010下载

可以去 微软官网下载,然后安装 就不多说了

三.win8环境下,配置环境变量

1 ,添加环境变量

右击计算机,->属性->高级系统设置->环境变量

添加path路径:

在系统变量中,点击path,选择编辑,添加path路径如下(其中32位的如下配置,64位的将路径里面的x86改成x64即可。)


新建OPENCV


四, ,opencv 在VS2010中的配置步骤

新建一个新win32控制台项目–这就不多说了

include 配置

打开工程:-视图->属性页->VC++目录->包含目录中添加include


lib配置

库目录 “属性”->“配置属性”->“VC++目录”->“库目录” (同上,32位的系统如下配置,64位的系统,改成………\x64\vc10\bin。)


五,添加附加依赖项

视图->属性页->链接器->输入->附加依赖项


release 添加附加依赖项

opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_objdetect244d.lib
opencv_ts244d.lib
opencv_video244d.lib


六,测试配置结果展示

测试代码:

//#include "stdafx.h"
#include 
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "C://Users//oracle//Documents//visual studio 2010//Projects//Test_openvb//test_opencv//lena.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
getchar();
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}

七,遇到的问题
1) 如果开始调试的时候出现无法解析或者找不到"stdafx.h" ,那么不用管,将#include "stdafx.h"  注释掉即可。
2) 如果你是64位的系统,那么可能会遇到报错显示x64平台系统与目标平台不匹配之类的,那么不用担心,右击你的项目,选择属性,在属性页的右上角有一个配置管理器,将解决方案平台改成x64即可。
3) 如果显示无法解析_TCHAR,那么在预处理那边加入#include即可。
4) 如果出现这样的问题:
d:\opencv2.4.4\include\opencv2\opencv.hpp(46): fatal error C1083: 无法打开包括文件:“opencv2/core/core_c.h”: No such file or directory
这个主要是包含目录下的include配置出错了,改成
D:\opencv2.4.4\build\include\opencv2
D:\opencv2.4.4\build\include\opencv
D:\opencv2.4.4\build\include

就可以了,呵呵

5) 图片文件目录问题

可以使用 绝对路径 ,如上面代码中 的那样,记住和win下面的路径写法不一样,比如要写成这样的形式 D://input//lena.jpg。

还以可以使用 相对路径 ,但是你的图片必须要放在当前工作目录下,这个就不多说了。

好了,按照上面所说的做,无论是64位还是32位的系统,在vs2010下跑opencv2.4.4就妥妥了的