1:准备工作
1)opencv的官网下载你所要版本的opencv库文件,运行安装解压到自定义的一个文件夹里(D:\Program Files).
2)安装vs2010。
二:配置
1、计算机环境变量:计算机-〉右键-〉属性-〉高级系统设计-〉环境变量-〉用户变量-〉找到path(若没有path,z则新建一个)->编辑添加
D:\Program Files\opencv\build\x86\vc10\bin;D:\Program Files\opencv\build\x64\vc10\bin
2、vs配置
1)文件-〉新建项目-输入名称abc
2)工具栏:视图-〉解决方案资源管理器-〉源文件-〉右键-〉添加-〉新建项->c++,输入名称abc
3)视图-〉属性管理器-〉Debug|Win32->(双击)Microsoft.Cpp.Win32.user
--〉通用属性-〉VC++目录-〉可执行文件目录:添加:D:\Program Files\opencv\build\x86\vc10\bin
4)同样是在
视图-〉属性管理器-〉Debug|Win32->(双击)Microsoft.Cpp.Win32.user
--〉通用属性-〉VC++目录-〉包含目录-〉添加:
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2
[这是之前把OpenCV解压到D:\Program Files\下的情况。实际的路径还要看你自己把OpenCV解压到了哪个目录下,根据实际情况来调节。]
5)还是一样,在
视图-〉属性管理器-〉Debug|Win32->(双击)Microsoft.Cpp.Win32.user
--〉通用属性-〉VC++目录-库目录下添加:D:\Program Files\opencv\build\x86\vc10\lib
添加上D:\ProgramFiles\opencv\build\x86\vc10\lib这个路径。
这里选择x86还是x64是一个常常令人困惑的问题。当然,对于32位操作系统,铁定就是选x86了。
如果是64位操作系统,很多童鞋会想当然自作聪明地选择x64,其实不然。正确的理解是这样的:
不管你是32位还是64位操作系统,只用管你用win32编译器还是X64编译器。
其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于你在编译你的程序的时候是使用那个编译器。
编译器选的是win32,就用x86
编译器选的是X64,就用X64。不过一般情况下,都是用的win32的X86编译器。所以,无论32还是64位操作系统,配置文件最好都选择x86版的
另外,这里的vc10表示vs2010,如果是其他版本的visual studio,稍微要微调一下。
5)连接库的配置
视图-〉属性管理器-〉Debug|Win32->(双击)Microsoft.Cpp.Win32.user
--〉通用属性-〉连接器-〉输入-〉附加依赖项-〉添加:
内容即为D:\Program Files\opencv\build\x86\vc10\lib下所有lib库文件的名字;其中的2411代表我们的OpenCV版本为2.4.11,若是其他版本的配置则在这里要 进行相应的更改
opencv_calib3d2411.lib
opencv_calib3d2411d.lib
opencv_contrib2411.lib
opencv_contrib2411d.lib
opencv_core2411.lib
opencv_core2411d.lib
opencv_features2d2411.lib
opencv_features2d2411d.lib
opencv_flann2411.lib
opencv_flann2411d.lib
opencv_gpu2411.lib
opencv_gpu2411d.lib
opencv_highgui2411.lib
opencv_highgui2411d.lib
opencv_imgproc2411.lib
opencv_imgproc2411d.lib
opencv_legacy2411.lib
opencv_legacy2411d.lib
opencv_ml2411.lib
opencv_ml2411d.lib
opencv_nonfree2411.lib
opencv_nonfree2411d.lib
opencv_objdetect2411.lib
opencv_objdetect2411d.lib
opencv_ocl2411.lib
opencv_ocl2411d.lib
opencv_photo2411.lib
opencv_photo2411d.lib
opencv_stitching2411.lib
opencv_stitching2411d.lib
opencv_superres2411.lib
opencv_superres2411d.lib
opencv_ts2411.lib
opencv_ts2411d.lib
opencv_video2411.lib
opencv_video2411d.lib
opencv_videostab2411.lib
注意,为了避免出现计算机找不到.dll文件的情况,就把相关的dll都拷贝到Windows操作系统的目录下。如果你的Windows安装在C盘,那么路径就是C:\Windows。按照之前我的OpenCV的存放环境,这些dll存放在D:\Program Files\opencv\build\x86\vc10\bin目录下。
到这个目录下,【Alt+A】全选,【Alt+C】拷贝,然后转到C:\Windows下面,【Alt+V】复制,就完成了。
三、测试
在之前建的abc.cpp中添加如下代码
#include "highgui.h"
int main(int argc,char **argv)
{
IplImage *img=cvLoadImage("pp.jpg");
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
cvShowImage("Example1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}
放置一张名为pp.jpg的图片到工程目录中
,然后点击“运行“按钮,如果配置成功,就不会报错,得到预想的运行结果:
关于测试时出现的问题(http://zhidao.baidu.com/link?url=AkVFQol0PMTB4f8MP25aQdUPaXgYNSdny0BECZPWyE2qBMnNHTMtHn8xVBkd28bDlZrmi_6PwEdJnvYV3nICuV8a4D0Y4n9u2K8YDtLxwCG):显示项目已过期,无法启动程序,系统找不到文件的解决方法——————〉
这个是由于日志文件引起的,可以将
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
或者将
项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”,改成“否”。
然后就ok了!
[博文参考:http://www.cnblogs.com/woshitianma/p/3853447.html
http://blog.csdn.net/ningyaliuhebei/article/details/17097747
]