您的位置:首页 > 运维架构

在VS2008下安装OpenCV2.0

2010-03-21 21:26 453 查看
OpenCV2.0.0这个版本的 bin 和 lib都是未经编译、还不能直接使用的。通过 OpenCV 中文论坛得知,要使用 Cmake 软件对 OpenCV 源代码重新编译,才能得到最终的dll 和 lib 文件。编译方法如下:

1. 假设OpenCV2.0安装于以下目录: C:/opencv2.0。

2. 使用CMake建立VC工程文件

2.1 运行Cmake gui

Where is the source code: C:/opencv2.0

Where to build the binaries: C:/opencv2.0/vs2008build(自己新建此目录)

2.2 点击configure按钮,选择相应的编译器为visual studio 9 2008,点击finish,出现红色标记的参数。

2.3 再点configur按钮,参数消除了红色。

2.4 点击generator按钮,生成工程文件。

3. 用vc2008进行编译

完成上一步骤后,将在C:/opencv2.0/vs2008build目录下生成OpenCV.sln的VC Solution File,请用VS2008打开OpenCV.sln,然后执行如下操作:

在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。

此时,OpenCV的*d.dll文件(for debug)和*.dll文件(forrelease)将出现在C:/opencv2.0/vs2008build/bin目录中;OpenCV的*d.lib文件(fordebug)和*.lib文件(forrelease)将出现在C:/opencv2.0/vs2008build/lib目录;头文件*.h出现在C:/opencv2.0/vs2008build/include/opencv中。

可以被VS2008调用的OpenCV动态库生成完毕。

VC 2008 Express下安装OpenCV2.0

本文档适用版本为OpenCV 2.0和Visual C++ 2008 Express,如使用其他版本,仅供参考。

OpenCV2.0官方安装文档,请参考:http://opencv.willowgarage.com/wiki/InstallGuide

目录

[隐藏]

1
安装所需要的软件

1.1
安装VC++ 2008 Express
1.2
安装OpenCV
1.3
安装CMake

2
编译OpenCV

2.1
用CMake导出VC++项目文件
2.2
编译 OpenCV Debug和Release版本库

3
配置Windows环境变量Path
4
为VC++ 2008 Express配置OpenCV环境
5
使用OpenCV 2.0编程
6
作者

[编辑]

安装所需要的软件

[编辑]

安装VC++ 2008 Express

Visual C++ Express是微软推出的一款免费集成开发环境,如果你没有足够资金购买Visual C++,你可以使用Visual C++ Express。本安装说明撰写时,最新的版本是Visual C++ 2008 Express.

Visual C++ 2008 Express可以从微软网站下载安装(http://www.microsoft.com/express/product/default.aspx)。

[编辑]

安装OpenCV

http://www.opencv.org.cn/index.php/Download 下载OpenCV 2.0,并安装,本文档假定安装目录为:D:/Program Files/OpenCV2.0

[编辑]

安装CMake

http://www.cmake.org/cmake/resources/software.html 下载 Windows (Win32 Installer) 安装。

[编辑]

编译OpenCV

[编辑]

用CMake导出VC++项目文件

运行cmake-gui,设置路径为OpenCV安装路径(本文档假定安装位置为:D:/Program Files/OpenCV2.0),并创建子目录D:/Program Files/OpenCV2.0/vc2008,用于存放编译结果。
然后点 configure,在弹出的对话框内选择 Visual Studio 9 2008。
如果是VC++2008的Express版本,则不支持OpenMP,所以需要取消ENABLE_OPENMP选项。VC++ 2008(不是Express版本)支持OpenMP,如果你使用VC++2008,强烈建议不要取消这个选项。








点击看大图








点击看大图








点击看大图

[编辑]

编译 OpenCV Debug和Release版本库

完成上一步骤后,将在D:/Program Files/OpenCV2.0/vc2008目录下生成OpenCV.sln的VC Solution File,请用VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:

在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。

此时,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)将出现在D:/ProgramFiles/OpenCV2.0/vc2008/bin目录中;OpenCV的*d.lib文件(for debug)和*.lib文件(forrelease)将出现在D:/Program Files/OpenCV2.0/vc2008/lib目录;头文件*.h出现在D:/ProgramFiles/OpenCV2.0/vc2008/include/opencv中。

可以被VC++ 2008 Express调用的OpenCV动态库生成完毕。








点击看大图








点击看大图








点击看大图








点击看大图








点击看大图

[编辑]

配置Windows环境变量Path

将D:/Program Files/OpenCV2.0/vc2008/bin加入Windows系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。








点击看大图








点击看大图

[编辑]

为VC++ 2008 Express配置OpenCV环境

打开VC++ 2008 Express,菜单 Tools -> Options -> Projects and Solutions -> VC++ Directories

Show directories for选择include files,加入目录 D:/Program Files/OpenCV2.0/vc2008/include/opencv
Show directories for选择library files,加入目录 D:/Program Files/OpenCV2.0/vc2008/lib

关闭VC++ 2008 Express。








点击看大图








点击看大图

[编辑]

使用OpenCV 2.0编程

打开VC++ 2008 Express,创建一个Win32控制台程序opencvhello;
选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties;
为项目的Debug配置增加依赖的库:cxcore200d.lib cv200d.lib highgui200d.lib
为项目的Release配置增加依赖的库:cxcore200.lib cv200.lib highgui200.lib
编译运行下面的例程(需要将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;
}


[/code]







点击看大图








点击看大图








点击看大图








点击看大图








点击看大图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: