链接:
http://blog.csdn.net/zackzhaoyang/article/details/6883996
http://blog.csdn.net/yeqiu712/article/details/6718850
初用时可能遇到的一些问题:
http://blog.csdn.net/wuweigreat/article/details/7044478
网上有使用Cmake编译然后配置的方式,个人觉得能不用就不用,简单才是王道。
1. 下载OpenCV-2.3.1-win-superpack,释放到D:\opencv。下载TBB3.0
http://www.threadingbuildingblocks.org/uploads/77/151/3.0/tbb30_20100406oss_win.zip
解压到D:\opencv下
2. 设置环境变量:右击计算机打开属性->高级系统设置,高级选项卡->环境变量。
用户变量设置:变量:OPENCV,值:D:\opencv\build
变量:PATH,值:D:\opencv\build\x86\vc10\bin;D:\opencv\tbb30\bin\ia32\vc10
系统变量设置:Path添加以下路径
D:\opencv\build\x86\vc10\bin;D:\opencv\tbb30\bin\ia32\vc10(用分号隔开)
重启计算机
3. 开始给以后所有的项目进行配置。
首先任意新建一个项目,我这里建的是名字为opencv的C++控制台程序。下来的设置比较特别,经过多次搜索才发现这样做最好。
视图-->解决方案资源管理器-->选择左侧控件下方的”属性管理器
展开opencv,一直展开看到Microsoft.Cpp.Win32.user,对它右键选择属性。
然后对VC++目录下选项进行添加:
(1)可执行文件目录:
(2)Library Directories(库目录)
D:\opencv\build\x86\vc10\lib;D:\opencv\tbb30\lib\ia32\vc10 (如果是64位的,此处ia32换为intel64)
(3)Include Directories(包含目录)
D:\opencv\include\opencv2
D:\opencv\build\include
D:\opencv\include\opencv
D:\opencv\tbb30\include
4. 下面对单个项目进行配置
因为是对单个项目配置的,所以以后每生成一个使用OpenCV的项目都需要设置一次,因此保存好下面的路径。
项目-->属性-->连接器-->输入
在”附加依赖项”中进行添加。先对此界面左上角的”配置”选择上Debug,在附加依赖项中添加:
D:\opencv\build\x86\vc10\lib\opencv_core231d.lib
D:\opencv\build\x86\vc10\lib\opencv_highgui231d.lib
D:\opencv\build\x86\vc10\lib\opencv_video231d.lib
D:\opencv\build\x86\vc10\lib\opencv_ml231d.lib
D:\opencv\build\x86\vc10\lib\opencv_legacy231d.lib
D:\opencv\build\x86\vc10\lib\opencv_imgproc231d.lib
把Debug换成Release(如果问你是否保存,则保存修改),再添加:
D:\opencv\build\x86\vc10\lib\opencv_core231.lib
D:\opencv\build\x86\vc10\lib\opencv_highgui231.lib
D:\opencv\build\x86\vc10\lib\opencv_video231.lib
D:\opencv\build\x86\vc10\lib\opencv_ml231.lib
D:\opencv\build\x86\vc10\lib\opencv_legacy231.lib
D:\opencv\build\x86\vc10\lib\opencv_imgproc231.lib
具体的项目可能还要用到其他的库,用同样的方法添加。
5. 至此完成配置,把lena.jpg放在代码目录下,测试代码如下:
#include "stdafx.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
int _tmain(int argc, _TCHAR* argv[])
{
IplImage* img = cvLoadImage("lena.jpg", CV_LOAD_IMAGE_UNCHANGED);
if (!img)
{
return -1;
}
cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
cvShowImage("display", img );
cvWaitKey(0);
return 0;
}