1.下载安装CMake 2.8
2.用cmake配置opencv2.2,然后编译,安装
3. 在vs2005中配置opencv2.2
1.下载CMake2.8( 这个版本的opencv要先编译才能用)
地址:http://www.cmake.org/files/v2.8/cmake-2.8.10.2-win32-x86.exe
直接下载安装。
2.用cmake配置opencv2.2,然后编译,安装
a.打开CMake安装目录下的bin中的cmake-gui.exe
是刚下载的opencv源代码所在的文件夹,
是要在哪里编译,即编译好的放在哪。
如下如:
然后点击:Configure,在弹出的窗口选择:如果你的vs是2005,就选择VisualStudio 8 2005,只有这里改栋,其他默认。
点击finish后看到下图的效果:
接下来点:Genertate按钮
当出现下面的页面时,就可以了,关掉CMake接下来就是:编译了
找到你刚刚的的文件夹中的sln,
然后用对应的vs2005打开,如果有多个版本就在打开方式那选择
(1)编译debug版本,如下图;
右键点击ALL_BUILD,选择“生成”,时间比较久,耐心等待!!!!
然后右键点击INSTALL,选择“生成”,即可。
2)生成release版本,只有一处不同之处,先选定release,其他步骤完全一致。
编译opencv2.2已经完成,还要配置。
(3)添加环境变量PATH ,
右键“我的电脑”出来下面的图片,高级→环境变量
在path添加:;C:\OpenCV-2.2.0\VS2008\bin
配置的话看这里:http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1
特别注意:
使用OpenCV 2.2编程
http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1
- 打开Vs2005 ,创建一个Win32控制台程序opencvhello;
- 选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中:
- 为项目的Debug配置增加 [依赖的库 Additional Dependencies]:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能是cv***d.lib等形式,具体应查看D:\Program Files\OpenCV2.0\vc2008\lib。如果使用的是OpenCV2.1,应输入:cxcore210d.lib cv210d.lib highgui210d.lib )
- 为项目的Release配置增加[依赖的库 Additional Dependencies]:cxcore200.lib cv200.lib highgui200.lib (注意:如果使用的是OpenCV2.1,应输入:cxcore210.lib cv210.lib highgui210.lib)
- 在 [配置属性 Configuration Properties]- [General] -[字符集 Character Set] 修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)
- 编译运行下面的例程(需要将lena.jpg文件放在项目目录下)。
/*********************************************************************** * OpenCV 2.0 测试例程 * 于仕琪 提供 ***********************************************************************/ #include "stdafx.h" #include "highgui.h" //所有的以新风格命名的函数都在 cv 命名空间中 //如果希望不要每次都输入 cv:: ,则可使用下面语句 //using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { const char* imagename = "lena.jpg"; cv::Mat img = cv::imread(imagename); // Matlab风格的 cvLoadImage 函数的另一种调用 if(img.empty()) { fprintf(stderr, "Can not load image %s\n", imagename); return -1; } if( !img.data ) // 检查是否正确载入图像 return -1; cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口 cv::imshow("image", img); //显示图像 cv::waitKey(); return 0; }