技术蛀虫

导航

OpenCV2.1在VS2008下的配置基础

OpenCV是一个好东西,集成了很多图像处理相关的函数,但是很多人都提出安装不好,因此笔者在此做一个详细的解释。

1. 安装OpenCV 2.1

目前最新版本为OpenCV 2.1版,在http://www.opencv.org.cn/index.php/Download中可以下载到OpenCV for Windows(VC2008专用版)。先安装OpenCV 2.1版,假定安装目录为D:\Program Files\OpenCV2.1

2. 安装CMake 2.8.3

在http://www.cmake.org/cmake/resources/software.html 可以下载到CMake 2.8.3 Windows (Win32 Installer),安装到任意路径都可。

3. 编译OpenCV

用CMake导出VC++项目文件

·运行cmake-gui,在”Where is the source code:”一栏设置路径为OpenCV安装路径(本文档假定为D:\Program Files\OpenCV2.1),在OpenCV2.1目录下新建一个文件夹VC2008,在”Where to build the binaries”一栏设置路径为” D:/Program Files/OpenCV2.1/VC2008”

 

·点击configure,在弹出的对话框内选择Visual Studio 9 2008

 

·在点击Finish之后CMake就会开始配置文件,如果出现

Could not copy from: D:/Program Files/CMake 2.8/share/cmake-2.8/Templates/CMakeVSMacros2.vsmacros

to: C:/Users/ÕÅÖÇÓî/Documents/Visual Studio 2008/Projects/VSMacros80/CMakeMacros/CMakeVSMacros2.vsmacros

则表明CMake无法复制文件,很可能是Win7下的权限问题或者是中文用户名的问题,那么只需要自己手动将上述目录的文件复制到相应位置即可。

·当出现Configuring done时,再次点击Configure,然后点击Generate,如果出现Generating done,则证明已经生成完毕。

 

编译OpenCV Debug和Release版本库

完成以上步骤之后,将在D:\Program Files\OpenCV 2.1\VC2008目录下生成一个OpenCV.sln的文件,用VS2008打开,在Debug配置下选择“解决方案资源管理器”中的解决方案’OpenCV’,单击右键选择“重新生成解决方案”,如果没有错误的话,选择INSTALL项目,单击右键选择“重新生成解决方案”。

然后改变为Release配置,选择“解决方案资源管理器”中的解决方案’OpenCV’,单击右键选择“重新生成解决方案”,如果没有错误的话,选择INSTALL项目,单击右键选择“重新生成解决方案”。

 

此时,OpenCV的*d.dll(for debug)和*.dll(for release)将出现在D:\Program Files\OpenCV2.1\VC2008\bin目录中;OpenCV的*d.lib(for debug)和*.lib(for release)将出现在D:\Program Files\OpenCV2.1\VC2008\lib目录中;头文件*.h将出现在D:\Program Files\OpenCV2.1\VC2008\include\opencv中。至此,可以被VS2008调用的OpenCV动态链接库生成完毕。

4. 配置Windows环境变量Path

将D:\Program Files\OpenCV2.1\VC2008\bin加入Windows系统环境变量Path中

 

5. 为VS2008配置OpenCV环境

打开VS2008,选择菜单上的“工具-选项-工程和解决方案-VC++目录”

在“显示以下内容的目录”中选择“包含文件”,加入D:\Program Files\OpenCV2.1\VC2008\include\opencv

在“显示以下内容的目录”中选择“库文件”,加入D:\Program Files\OpenCV2.1\VC2008\bin

关闭VS2008

6. 使用OpenCV2.1编程

打开VC++ 2008,创建一个Win32控制台程序opencvhello;在菜单里面选择“项目-属性”,在“配置属性-链接器-输入”的“依赖附加项”中添加“cxcore210d.lib cv210d.lib highgui210d.lib”。在“配置属性-常规”的“字符集”中选择“使用多字节字符集”。

将cxcore210d.lib,cv210d.lib,highgui210d.lib三个文件复制到项目根目录下,源文件所在地址为D:\Program Files\OpenCV2.1\VS2008\bin

将一下代码复制到代码编辑框中:

 

 

#include "stdafx.h"

#include "highgui.h"

 

//所有的以新风格命名的函数都在 cv 命名空间中

//如果希望不要每次都输入 cv:: ,则可使用下面语句

//using namespace cv;

 

int _tmain(int argc, _TCHAR* argv[])

{

 

const char* imagename = "d:\\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;

}

 

复制一张图片到“D:\\lena.jpg”单击调试运行,如果出现了刚刚那张复制的图片,则证明OpenCV调用运行成功。

以上程序在Win7 家庭普通版+Visual Studio 2008 专业版+OpenCV 2.1 for Windows(VC2008专用)+CMake 2.8.3 Windows (Win32 Installer)环境下调试通过。

posted on 2012-07-19 18:24  技术蛀虫  阅读(254)  评论(0编辑  收藏  举报