说明:
- 安装平台:64位win7,VS2010;
- OpenCV 2.4.4不支持VC 6.0;
- 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。
- 希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。尤其要注意自己的操作系统的位数,还有相应的路径。
一、下载OpenCV
- 从本站下载栏目 http:///index.php/Download下载 OpenCV for Windows(也即 OpenCV-2.4.4.exe 文件)。
- 将 OpenCV-2.4.4.exe 解压并放到某个目录下,例如
D:\opencv
二、设置环境变量
右键单击我的电脑→属性→高级→环境变量。
用户变量设置
设置PATH
D:\opencv\build
\x64\vc10\bin。
opencv\build\x86\vc10\bin
新建OpenCV变量
OPENCV和
D:\opencv\build。
opencv\build
系统变量设置
设置PATH
;D:\opencv\build\x64\vc10\bin
。
注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径; 2、可根据自己的情况,将其改为你的opencv\build\x64\vc10\bin文件夹所在的路径;
说明:设置完环境变量,需要重启电脑,才能生效。
三、配置VS2010
配置VS2010,亦即告诉VC去什么地方寻找OpenCV的头文件和库。打开VS2010,选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”,在VS2010中打开此选项,如下图所示,显示编辑功能被否决。
可以在具体的项目中,对特定的项目单击右键→属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,太过繁琐,因此需要一个能够被继承的全局设置,方法如下:
要求:确保VS2010中至少有一个工程被打开。这里采用新建一个工程的办法,以便后面测试程序。
准备工作
1、打开VS2010,新建项目→win32控制台项目→完成。
注意不勾选预编译头
重点来了2、在菜单栏选择配置管理器(按那个小三角下拉菜单)。
完成以后是这样的
点击左下角的属性管理器界面是这样的
配置VC10
x64”→“
Microsoft.Cpp.x64.user”,如下图所示。
(这里如果发现没有user这个文件的话,关一下这个解决方案再开一下就有了。。。)
Microsoft.Cpp.x64.user”,弹出如下图所示的窗口。
3、点击左侧VC++目录,编辑右侧的可执行文件目录、包含目录与库目录,分别添加对应的路径。
对应的路径如下:
1)可执行文件目录
D:\opencv\build\x64\vc10\bin
说明:1、可根据自己的情况,将其改为你的opencv\build\x64\vc10\bin文件夹所在的路径;
2)包含目录
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夹所在的路径; 2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个include文件夹。
3)库目录
D:\opencv\build\x64\vc10\lib
说明:1、可根据自己的情况,将其改为你的opencv\build\x64\vc10\lib文件夹所在的路径;
4、附加依赖项
单击“链接器”→“输入”→“附加依赖项”,如下图所示。
opencv\build\x64\vc10\lib
文件夹里的lib文件名称:
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_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib
opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib
说明:上面的库为opencv\build\x64\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的244
是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。
四、测试程序
4.1、程序代码
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
void main()
{
IplImage *src;
src = cvLoadImage("test.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
cvNamedWindow("test",CV_WINDOW_AUTOSIZE);
cvShowImage("test",src);
cvWaitKey(0);
cvDestroyWindow("test");
cvReleaseImage(&src);
}
4.2、运行结果
4.2.1、Debug下的运行结果
4.2.2、Release下的运行结果