本文记录Windows 7 X86 SP1操作系统环境下,安装与配置OpenCV2.4.3的详细步骤。前置需求:已安装有VS2010。
下载并安装OpenCV
从http://www.opencv.org.cn/index.php/Download上下载OpenCV 2.4.3 for Windows版本的安装文件OpenCV-2.4.3.exe,双击就会自动解压安装,选择目标目录。我个人选择为D:Program FilesOpenCV。注意不要使用含有中文字符的文件目录。
下载并安装CMake
从http://www.cmake.org/cmake/resources/software.html上下载WWindows版本安装包cmake-2.8.10.2-win32-x86.exe文件,双击一路默认安装即可。
生成OpenCV源码工程
此过程用于将安装OpenCV后得到的源码编译为相应版本的VS工程。详细步骤如下。
1、设置安装OpenCV后的文件目录和想要生成的工程存放目录;
2、点击左下方configure,在弹出的选项中选择Visual Studio 10(对应2010版本);
3、点击完成就会进行配置,配置后的界面如下图所示,选择需要加入的文件,我这里勾上BUILD_EXAMPLES其他选项默认;
4、修改完成后再次点击configure进行配置,完成后点击Generate,至此完成配置。
注:在配置源码工程时候有32位版本与64位版本之分,需要根据操作系统环境选择相应版本。
编译OpenCV版本库
使用VS2010将上一过程所得到的OpenCV.sln工程文件打开,分别在Debug模式和Release模式下进行编译,步骤如下:
1、清理OpenCV解决方案;
2、生成OpenCV解决方案;
3、选择INSTALL项目,生成该项目。
配置VS
配置include路径和lib路径
配置include路径的作用是告诉VS从哪里查找OpenCV的头文件,配置lib路径的作用是告诉VS从哪里查找OpenCV的库文件。
1、启动VS2010,新建一个Win32控制台应用程序OpenCV01;
2、打开OpenCV01项目属性,依次选择“配置属性”->“VC++目录”->“包含目录”,添加相应路径;
包含目录(编译版本库对应的目录)如下:
E:WorkspacesVisual StudioOpenCVinstallinclude
E:WorkspacesVisual StudioOpenCVinstallincludeopencv
E:WorkspacesVisual StudioOpenCVinstallincludeopencv2
如果使用OpenCV默认目录则是如下几项:
D:Program FilesOpenCVopencvinclude
D:Program FilesOpenCVopencvincludeopencv
D:Program FilesOpenCVopencvincludeopencv2
库目录(编译版本库对应的目录)如下:
E:WorkspacesVisual StudioOpenCVinstalllib
如果使用OpenCV默认目录则是:
D:Program FilesOpenCVopencvuildx64vc10lib
配置环境变量
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录(编译版本库对应的目录)如下:
E:WorkspacesVisual StudioOpenCVinstallin
如果使用OpenCV默认目录则是:
D:Program FilesOpenCVopencvuildx64vc10in
加入后需要注销当前Windows用户(或重启)后重新登陆才生效。
OK,OpenCV的环境已配置完整,Enjoy It...
OpenCV世界的Hello World
打开OpenCV01项目属性,依次选择“配置属性”->“连接器”->“输入”,为项目的Debug配置附加依赖项
opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_objdetect243d.lib
opencv_ts243d.lib
opencv_video243d.lib
为项目的Release配置依赖项
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_legacy243.lib
opencv_ml243.lib
opencv_objdetect243.lib
opencv_ts243.lib
opencv_video243.lib
主文件源码如下:
// OpenCV01.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { const char* imagename = "Lena.jpg"; //从文件中读入图像 Mat img = imread(imagename); //如果读入图像失败 if(img.empty()) { fprintf(stderr, "Can not load image %s ", imagename); return -1; } //显示图像 imshow("image", img); //此函数等待按键,按键盘任意键就返回 waitKey(); return 0; }
添加Lena.jpg文件到项目文件夹,运行该项目,报如下错误:
目测应该是编译版本错误,在配置管理器中修改项目为x64类型,重新运行,顺利显示这位图像处理界的“名模”!