搜档网
当前位置:搜档网 › Microsoft Visual Studio 2012 + OpenCV2.3.1环境配置教程

Microsoft Visual Studio 2012 + OpenCV2.3.1环境配置教程

Microsoft Visual Studio 2012 + OpenCV2.3.1环境配置教程
Microsoft Visual Studio 2012 + OpenCV2.3.1环境配置教程

OPENCV环境配置Microsoft Visual Studio 2012 + OpenCV2.4.3环境配置

作者:CCK

日期:2013年1月8日

Microsoft Visual Studio 2012 + OpenCV2.4.3环境配置

目录

Microsoft Visual Studio 2012 + OpenCV2.4.3环境配置 0

1. 实验环境 (1)

2. 实验目的 (1)

2.1 OpenCV简介 (1)

2.2 实验内容 (2)

3. OpenCV的生成及安装 (3)

3.1 下载OpeCV,CMake,TBB并安装 (3)

3.2 用CMake生成VS2012的OpenCV工程 (3)

3.3 用Opencv VS2012工程编译生成自己的OpenCV库 (6)

4. 配置Opencv开发环境&编写测试程序 (7)

4.1 添加OpenCV环境变量 (7)

4.2 配置包含目录和库目录 (8)

4.3 编写测试程序 (9)

5. 实验心得 (10)

1.实验环境

Windows 8 x64

Microsoft Visual Studio 2012

OpenCV 2.4.3

CMake2.8.10

TBB41

2.实验目的

2.1O penCV简介

OpenCV(open source computer vision library)是一个基于C/C++语言的开源图像函数处理库。它的主要模块包括:

cv :核心函数库

cvaux:辅助函数库

cxcore:数据结构与线性代数库

highgui:GUI函数库

ml:机器学习函数库

OpenCV是跨平台的,支持包括Windows、Unix以及Android等平台。下图是英文wiki 上一张关于OpenCV概述的图。

2.2实验内容

本次实验主要了解OpenCV的安装及配置,然后创建一个简单的程序测试。

安装方式有两种选择:

1.直接下载OpenCV Windows平台安装文件。可以在https://www.sodocs.net/doc/7b15093628.html,/downloads.html找

到下载。这是一个安装包,安装程序直接把OpenCV库文件解压到指定位置,并且还可以自动配置环境变量。

2.另外一种是源码安装(压缩包地址也可以在这里找到)。如果你想用IPP、CUDA或者

Qt自定义安装opencv,或者调试OpenCV工程时想对OpenCV代码进行源码跟踪,就需要从源码安装。

由于我的实验环境使用的VS2012的编译器,而官方的安装包并没有VS2012对应的VC11

的库文件,如果使用VC10代替可以成功配置,但运行时会出现如下错误。

对于该问题,我们可以选择使用VC10的库文件配置,然后再在系统中安装VS2010的运行库,也可以先用方法二利用源码编译出VC11的库文件再配置。这里我选择了后者。

3.OpenCV的生成及安装

3.1下载OpeCV,CMake,TBB并安装

1.从https://www.sodocs.net/doc/7b15093628.html,/downloads.html下载OpenCV

2.4.3的windows平台安装文件,安装

到D:\Program Files (x86)\ OpenCV\opencv2.4.3;

2.从https://www.sodocs.net/doc/7b15093628.html,/cmake/resources/software.html下载CMake2.8.10安装的安装文

件,直接安装;

3.从https://www.sodocs.net/doc/7b15093628.html,/download下载tbb41_20121003oss的压缩包,解压

到D:\Program Files (x86)\OpenCV\tbb41_20121003oss;

4.配置TBB环境变量

环境变量的Path里添加:D:\Program Files (x86)\OpenCV\tbb41_20121003oss\bin \ia32\vc11(ia32表示要编译32位工程,intel64表示要编译64位工程,vc11表示VS版本为2012)

3.2用CMake生成VS2012的OpenCV工程

新建文件夹OpenCVProject:D:\Program Files (x86)\OpenCV\OpenCVProject(用于存放自己的OpenCV编译工程)。

打开CMake,"Browse Source..."选择Opencv的目录D:/Program Files/opencv(内有CMake的组态档"CMakeLists.txt"),"Browse Build..."选择刚才自己新建的工程存放路径"D:\Program Files\OpenCVProject"。点击Configure按钮,在出现的对话框中选择Visual Studio 11(如果编译64位dll注意选择64位VS11配置),默认Use default native compilers,Finish继续。(如下图)

配置完后往下拉,勾选WITH_TBB,点击Configure继续配置。(如下图)

修改红色部分“TBB_INCLUDE_DIRS”路径为D:\Program Files (x86)\OpenCV \tbb41_20121003oss\include,点击Configure继续配置。(如下图)

继续点击Configure,直到没有红色标记。

此时我们已经配置完成,点击Generate生成OpenCVProject工程,退出CMake。(如下图)

3.3用Opencv VS2012工程编译生成自己的OpenCV库

经过大概10来分钟编译完成,此时已生成56个Debug版的dll和lib。(如下图)

添加Release版,再次编译。(如下图)

上面两步后就能在D:\Program Files (x86)\OpenCV\OpenCVProject\install目录看到最终Debug版和Release版的dll、lib、文档目录doc,以及头文件目录include(bin内为两个版本dll,lib内为两个版本lib)。

将该目录下的bin、include、lib三个文件夹的内容全部复制到D:\Program Files (x86)\OpenCV\opencv2.4.3\build\x86\vc11目录下。此时占用6G多空间的D:\Program Files (x86)\OpenCVProject没有用了,但是如果想在调试时进行源码跟踪则不能删除,可以通过VS2012的“清理解决方案”来减到3G多。

至此,我们完成了OpenCV的源码编译与安装,我们将在下一环节进行OpenCV的配置。

4.配置Opencv开发环境&编写测试程序

4.1添加OpenCV环境变量

在环境变量Path里添加:D:\Program Files (x86)\OpenCV\opencv2.4.3\build\x86\vc11\bin。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。

4.2配置包含目录和库目录

首先,打开VS2012,新建控制台应用程序TestOpenCV。

然后,打开VS菜单栏—>视图—>属性管理器。

因为vs2010之后的版本不像vs2008以前的版本在VS菜单栏—>工具—>选项—>项目解决方案—>VC++目录下可以一次性增加库目录,不过利用属性管理器对一个工程增加过一次库目录后,对以后的工程无需再增添。如果仅需修改本工程的属性,直接在解决方案中右键选择属性进行修改即可即可。下面介绍前者。

双击属性管理器中的Debug | Win32 下的https://www.sodocs.net/doc/7b15093628.html,er,在属性页—>通用属性—>VC++目录—>包含目录下加入:

D:\Program Files (x86)\opencv2.4.3\build\include;

D:\Program Files (x86)\opencv2.4.3\build\include\opencv;

D:\Program Files (x86)\opencv2.4.3\build\include\opencv2。

(如下图)

在属性页—>通用属性—>VC++目录—>库目录下加入:

D:\Program Files (x86)\opencv2.4.3\build\x86\vc10\lib。(如下图)

4.3编写测试程序

将TestOpenCV的主函数代码改为如下:

// TestOpenCV.cpp : 定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include

#include

#pragma comment( lib, "opencv_core243d.lib" )

#pragma comment( lib, "opencv_highgui243d.lib" )

using namespace cv;

int main()

{

namedWindow( "show_image", WINDOW_AUTOSIZE );

Mat src = imread( "opencv-logo.png" );

while(1)

{

imshow( "show_image", src );

char c = waitKey(0);

if( c == ' ' )

return 0;

}

return 0;

}

在工程目录下放一张图片“opencv-logo.png”。

编译运行结果如下:

5.实验心得

经过几个小时的查找资料,参考官方文档“VC 2008 Express下安装OpenCV2.0/2.1”以及其他的资料,摸索出了在最新的windows 8 x64 + VS2012平台配置最新的OpenCV2.4.3的方法。为了解决VS2012的兼容性问题,我使用了最复杂的编译源码的方式进行配置,在这个过程中我学到了很多东西,并且更加了解了OpenCV。网上关于VS2012的教程很少,有的那几个教程的配置是有问题的,他们的配置并不严谨,会出现很多问题,不过他们的方法给了我一点的启发,综合他们的方法我终于自己摸索出了正确的配置方法,虽然过程复杂了些,但是我也学到了很多东西,使用起来会更加方法,同时也可以为其他人的使用提供参考。

相关主题