Visual Studio2012环境下配置OpenCV_v2.4.10的步骤

合集下载

OpenCV 2.4.4安装与配置

OpenCV 2.4.4安装与配置

OpenCV 2.4.4 安装与配置步骤一:安装OpenCV/projects/opencvlibrary/files/opencv-win/2.4.4/1.从以上地址下载OpenCV2.4.4,执行exe文件,将文件安装到所需目录。

2.建立环境变量并添加到系统路径(以将文件安装在D:\opencv为例):i) 右键点击桌面的计算机图标,选择“属性”,跳出如下窗口:ii) 点击“高级系统设置”,跳出如下窗口:iii) 点击“高级”选项卡下的“环境变量”,跳出如下窗口:iv) 点击“系统变量”下的“新建”,“变量名”输入OPENCV_BUILD,“变量值”输入D:\opencv\build(如果OpenCV解压在别的目录,请输入该目录路径。

比如,如果在C盘ProgramFiles文件夹建立了名为OpenCV的文件夹,并在其中解压,那么输入的目录就为C:\ProgramFiles\OpenCV\opencv\build,总之目录一直到build文件夹),点击“确定”。

v) 双击“用户变量”中的PATH,在跳出的窗口中输入变量值为%OPENCV_BUILD%\x86\vc10\bin (如果电脑是64位系统的,请把“x86”改为“x64”;并请确保使用的是VS 2010,因为vc10文件夹针对的是VS 2010)。

步骤二:在VS2010中配置OpenCV1. 打开VS 2010,新建一个项目(Win32控制台或MFC 都可以)。

2. 建立Debug 属性表。

i) 点击“视图”菜单中的“属性管理器”。

ii) 右键“Debug|Win32”,选中“添加新项目属性表”。

iii) 输入名称为OpenCVProjectDebug。

iv) 建立后双击属性管理器中的OpenCVProjectDebug,对其进行编辑。

v) 选择“通用属性”下的“VC++目录”,点击“包含目录”,然后点下拉条,单击“<编辑…>”。

OPENCV 2.4.10安装

OPENCV 2.4.10安装

一、VS2020安装opencv2.4.101.1首先安装vs2010安装这个就不用多谈了1.2下载opencv-2.4.10.exe,并解压到最后会在1.3添加系统变量在系统变量path后添加:C:\opencv\opencv\build\x86\vc10\bin1.4新建vc++控制台工程项目,配置1.4.1项目属性->配置属性->VC++目录->包含目录添加C:\opencv\opencv\build\includeC:\opencv\opencv\build\include\opencvC:\opencv\opencv\build\include\opencv21.4.2项目属性->配置属性->VC++目录->引用目录添加C:\opencv\opencv\build\x86\vc10\lib1.4.3项目属性->链接器->输入->附加依赖项在debug模式下添加配置方案为Debug的配置,添加:(2410代表我的opencv版本是2.4.10,需要对应更改)opencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410d.libopencv_gpu2410d.libopencv_highgui2410d.libopencv_imgproc2410d.libopencv_legacy2410d.libopencv_ml2410d.libopencv_nonfree2410d.libopencv_objdetect2410d.lib opencv_ocl2410d.libopencv_photo2410d.libopencv_stitching2410d.libopencv_superres2410d.libopencv_ts2410d.libopencv_video2410d.libopencv_videostab2410d.lib配置方案为Release的配置,添加:opencv_calib3d2410.libopencv_contrib2410.libopencv_core2410.libopencv_features2d2410.lib opencv_flann2410.libopencv_gpu2410.libopencv_highgui2410.libopencv_imgproc2410.libopencv_legacy2410.libopencv_ml2410.libopencv_nonfree2410.libopencv_objdetect2410.libopencv_ocl2410.libopencv_photo2410.libopencv_stitching2410.libopencv_superres2410.libopencv_ts2410.libopencv_video2410.libopencv_videostab2410.lib二、工程中新建一个CPP文件,#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>using namespace cv;int main(){Mat img=imread("d:\\aaa.bmp");//读入一张图片namedWindow("Test");//创建一个名为Test窗口imshow("Test",img);//窗口中显示图像waitKey(5000);//等待5000ms后窗口自动关闭}。

OpenCV在Visual Studio中的属性表配置方法(通用)

OpenCV在Visual Studio中的属性表配置方法(通用)

OpenCV在Visual Studio中的属性表配置方法(OpenCV3.0及之前版本,VS2013及之前版本)1.opencv环境变量设置可以先看一下第五章和第六章、第七章,稍微看一下有些许印象就行,然后再从头看~~右击我的电脑→属性→高级系统设置→环境变量双击系统变量path,在最后填入解压后的bin目录D:\Program Files\opencv\build\x86\vc10\bin (根据个人解压opencv后的具体目录填写,最后为bin即可,注意与上一个目录中间用英文半角分号隔开,)如:然后在用户变量中新建OPENCV_DIR,变量值如下,到build目录,环境变量就这些就够了,重启电脑生效(不重启也行,如果不行,再重启试试)2.新建win32控制台程序由于打开属性管理器的具体配置需要先打开一个项目,这里我们先新建个项目,打开文件→新建→项目→VC++→win32控制台应用程序,在下面输入名称testopencv,点击下一步,选择空项目永久配置opencv打开视图 属性管理器,点开如下图一次性配置opencv网上有一种方法是直接修改er,但是配置链接器的时候debug版本和release版本的附加依赖项都得一次性加进去,我不知道会不不会出问题,所以为保险起见,我分别在debug|win32和release|win32下分别新建了属性表opencv_debug和opencv_release,当然,大家也可以试试网上的方法,具体配置的内容都一样,下面以opencv_debug为例,在debug|win32上右击,然后点击添加新项目属性表,填入opencv_debug 即可下面双击open_debug,选择VC++目录,点击包含目录,点击右侧下拉按钮→编辑,点击第一个新行按钮,输入$(OPENCV_DIR)\include,类似添加$(OPENCV_DIR)\include\opencv和$(OPENCV_DIR)\include\opencv2,点击确定,应用点击库目录,点击右边的下拉按钮→编辑,添加新行$(OPENCV_DIR)\x86\vc10\lib确定,应用点击链接器→输入,右侧附加依赖项,下拉按钮→编辑,输入如下: opencv_calib3d247d.libopencv_contrib247d.libopencv_core247d.libopencv_features2d247d.libopencv_flann247d.libopencv_gpu247d.libopencv_highgui247d.libopencv_imgproc247d.libopencv_legacy247d.libopencv_ml247d.libopencv_objdetect247d.libopencv_ts247d.libopencv_video247d.lib点击确定,应用,后面的d表示debug版,完成后在opencv_debug上右击,点击保存opencv_debug,opencv_release的基本配置同opencv_debug,只是链接器依赖项要换成opencv_calib3d247.libopencv_contrib247.libopencv_core247.libopencv_features2d247.libopencv_flann247.libopencv_gpu247.libopencv_highgui247.libopencv_imgproc247.libopencv_legacy247.libopencv_ml247.libopencv_objdetect247.libopencv_ts247.libopencv_video247.lib这样,我们可以看到新建项目下有两个属性表opencv_debug.props和opencv_release.props,我们可以把他们复制到别的地方,其他项目用到时只要附加进来即可,当然,如果是直接修改er的话,便无需再附加,每次环境会自动加载。

VisualStudio2010配置OpenCV的方法

VisualStudio2010配置OpenCV的方法

VisualStudio2010配置OpenCV的⽅法⽤VS使⽤OpenCV的时候,⼜不想全局配置,每次都要配置简直烦死了。

鉴于此,给⼤家介绍⼀种简便⼀点的⽅法。

配置环境的前提是:成功安装了OpenCV合适的版本。

我这⾥⽤的是OpenCV2.4.9,这个版本解压后,找到⼀个叫build的⽬录,这个是已经编译好的。

我们假设build⽬录结构如图1:图1 、 build⽬录结构并且假设build这个⽂件夹就在D盘下的opencv⽬录下,如果不是这样,你可以移动到D盘的opencv⽬录下。

我们要⽤C++来开发。

平台选⽤x86,当然,具体什么平台,根据你的实际情况。

第⼀步:创建⼀劳永逸的项⽬属性表!打开VisualStudio2010,创建⼀个新的项⽬,如图2所⽰:图 2、创建Win32控制台应⽤程序点击确定,然后下⼀步,进⼊图3所⽰界⾯。

选择空项⽬。

图 3、选择空项⽬点击完成。

在菜单栏中选择视图-->属性管理器,如图4所⽰。

图 4、选择属性管理器然后将属性管理器的选项卡都展开,如图5 所⽰:图 5、展开属性管理器右击 Debug|Win32,选择“添加新项⽬属性表”,操作步骤如图6、7所⽰:图 6图 7 添加OpenCV_Debug属性表添加结果如图8所⽰:图 8、OpenCV_Debug 属性表添加结果双击新添加的属性表。

按照图9所⽰,编辑包含⽬录。

图 9、编辑包含⽬录图 10、添加OpenCV的include⽬录图 11、添加附加库⽬录图 12、添加附加依赖项图12中,添加的附加依赖项后缀之前都有⼀个d,这点也是唯⼀与Release不同的地⽅。

添加的库⽂件名列表如下(注意你的版本号,千万别直接复制粘贴)opencv_imgproc249d.libopencv_calib3d249d.libopencv_contrib249d.libopencv_core249d.libopencv_features2d249d.libopencv_flann249d.libopencv_gpu249d.libopencv_highgui249d.libopencv_legacy249d.libopencv_ml249d.libopencv_nonfree249d.libopencv_objdetect249d.libopencv_ocl249d.libopencv_photo249d.libopencv_stitching249d.libopencv_superres249d.libopencv_ts249d.libopencv_video249d.libopencv_videostab249d.lib最后点击确定。

Windows7 64位下 Visual Studio 2012 OpenCV-2.4.5安装和配置

Windows7 64位下 Visual Studio 2012  OpenCV-2.4.5安装和配置

Windows7 64位下Visual Studio 2012 OpenCV-2.4.5安装和配置一、第一步配置环境变量:1.2.在用户变量新建OPENCV 和PATHOPENCV=C:\opencv\buildPATH=C:\opencv\build\x64\vc11\bin;C:\opencv\build\x86\vc11\bin3.在系统变量的PATH里面加上C:\opencv\build\x64\vc11\bin;C:\opencv\build\x86\vc11\bin配置完以后重启电脑或者注销环境变量才能生效。

二、配置项目环境:1.新建Win控制台程序,在解决方案资源管理器的右边-》属性管理器进入1)右击Debug选择属性:选择在VC++目录,对包含目录和库目录进行添加包含目录:C:\opencv\build\include;C:\opencv\build\include\opencv2;C:\opencv\build\include\open cv;库目录:(我把32位和64位的动态链接库都加入了)C:\opencv\build\x86\vc11\lib;C:\opencv\build\x64\vc11\lib;2)点击链接器->输入,在附加依赖项里面加上:opencv_calib3d245d.libopencv_contrib245d.libopencv_core245d.libopencv_features2d245d.libopencv_flann245d.libopencv_gpu245d.libopencv_haartraining_engined.libopencv_highgui245d.libopencv_imgproc245d.libopencv_legacy245d.libopencv_ml245d.libopencv_nonfree245d.libopencv_objdetect245d.libopencv_photo245d.libopencv_stitching245d.libopencv_ts245d.libopencv_video245d.libopencv_videostab245d.lib2.同理右击Release选择属性:操作同上面,区别在于,在附加依赖项里面输入:opencv_calib3d245.libopencv_contrib245.libopencv_core245.libopencv_features2d245.libopencv_flann245.libopencv_gpu245.libopencv_highgui245.libopencv_imgproc245.libopencv_legacy245.libopencv_ml245.libopencv_nonfree245.libopencv_objdetect245.libopencv_photo245.libopencv_stitching245.libopencv_ts245.libopencv_video245.libopencv_videostab245.lib三、测试:#include"stdafx.h"#include<opencv2\opencv.hpp>#include<cv.h>#include<highgui.h>using namespace std;using namespace cv;int _tmain(int argc, _TCHAR* argv[]){const char* imagename="Lena.jpg";IplImage* imag=cvLoadImage(imagename,1);cvNamedWindow("LenaWindow",1);cvShowImage("LenaWindow",imag);cvWaitKey(0);cvReleaseImage(&imag);cvDestroyWindow("LenaWindow");}效果:。

OpenCV2.49 VS2012配置

OpenCV2.49 VS2012配置

学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置2014-08-04 18:58 34486人阅读评论(4) 收藏举报首先获得最新的Opencv 2.4.9源码:opencv源码下载一、Opencv环境变量配置1.将源码安装到制定目录:2.为Opencv 添加环境变量:计算机-->属性点击高级系统设置3.出来系统属性对话框后,点击环境变量。

4.弹出如下对话框:选中PATH 单击新建5.点击新建添加环境变量6.将opencv2.4.9变量包含到PATH中去二、然后再看VS2012 的配置。

1、新建工程:选择Win32控制台应用程序,为你的工程取个名字,click确定点下一步2、弹出Win32应用程序向导,按下图选中选项后,点击完成3、打开项目的属性管理器,首先配置项目的Debug版属性,右击Debug | Win32,选择添加新项目属性表,如下图:4、为即将添加的属性添加个名字-->添加:5、弹出如下对话框,修改包含目录,及库目录。

如下所示:6、包含目录:{opecv}\build\include{opecv}\build\include\opencv{opecv}\build\include\opencv2{opencv}中的内容用opencv的安装路径替换7、库目录:{opecv}\build\x86\vc11\lib {opencv}中的内容用opencv的安装路径替换8、点下面对话框的击链接器,单击输入修改附加依赖项9、添加如下内容:opencv_core249d.libopencv_imgproc249d.libopencv_highgui249d.libopencv_ml249d.libopencv_video249d.libopencv_features2d249d.libopencv_calib3d249d.libopencv_objdetect249d.libopencv_contrib249d.libopencv_legacy249d.libopencv_flann249d.lib到此就成功配置好Debug版的属性了,release版的跟上面的步骤类似,只是需要把附加依赖项后面的d 字符去掉。

opencv配置VS2012

opencv配置VS2012

安装步骤:1.鼠标右击【opencv-for_VS2012】选择【解压到opencv-for_VS2012】。

2.双击打开解压后的【opencv-for_VS2012】文件夹。

3.鼠标右击【opencv-2.4.11.exe】选择【以管理员身份运行】。

4.点击【···】更改软件的解压路径。

5.选择D盘然后点击【确定】。

6.点击【Extract】。

7.解压中。

我这里打开路径为【D:\opencv\build\x86\vc10\bin】。

9.选中地址栏鼠标右击选择【复制】。

10.右击【此电脑】选择【属性】。

11.点击【高级系统设置】。

12.点击【环境变量】。

13.在系统变量下选择【Path】然后点击【编辑】。

14.点击【新建】。

15.使用快捷键Ctrl+V粘贴,然后点击【确定】。

16.点击【确定】。

17.点击【确定】。

18.双击【Visual Studio2012】软件图标启动软件。

19.点击【新建项目】。

20.选择【Win32控制台应用程序】再输入项目名称【textCV】,然后点击【确定】。

21.点击【完成】。

22.点击菜单栏中的【项目】然后选择【属性】。

23.点击【VC++目录】然后选择【包含目录】。

24.点击下拉菜单,然后点击【编辑】。

25.分别输入【D:\opencv\build\include】、【D:\opencv\build\include\opencv】、【D:\opencv\build\include\opencv2】,然后点击【确定】。

26.选择【链接器】下面的【输入】。

27.选中【附加依赖项】然后点击下拉菜单选择【编辑】。

28.使用快捷键Ctrl+C复制【D:\opencv\build\x86\vc10\lib\*d.lib】、【D:\opencv\build\x86\vc10\staticlib\*d.lib】并使用快捷键Ctrl+V粘贴到输入框中,然后点击【确定】。

Visual Studio 2010下成功配置OpenCV2.4.2

Visual Studio 2010下成功配置OpenCV2.4.2

Visual Studio 2010下成功配置OpenCV2.4.2环境:XP SP3 +32位系统+ Visual Studio 2010+ opencv2.4.2一、准备工作下载Visual Studio 2010(本人使用的是中文旗舰版)下载OpenCV2.4.2,下载地址:/二、安装文件安装Visual Studio 2010(略)安装OpenCV2.4.2,把它解压你电脑中指定的位置,别人解压到D:\Program Files\OpenCV下,解压完后应该是D:\Program Files\OpenCV\opencv,如下图:三、打开Visual Studio 2010,新建一个空白项目OpenCVTest,在源文件中增加test.cpp文件,文件中的代码为:代码如下:1./***********************************2.**OpenCV2.4.2测试项目3.* CAO JUN4./**********************************/5.#include <opencv2/opencv.hpp>6.ing namespace std;ing namespace cv;9.10.int main(int argc, char* argv[])11.{12.const char* pImg = "D:/op/lena.jpg";13.14.//从文件中读入图像15.Mat img = imread(pImg);16.17.//如果读入图像失败18.if(img.empty())19.{20.fprintf(stderr, "Can not load image %s\n", pImg);21.return -1;22.}23.24.//显示图像25.imshow("image", img);26.27.//此函数等待按键,按键盘任意键就返回28.waitKey();29.30.return 0;31.}四、配置VS1、配置include路径:也即告诉VS去哪里寻找OpenCV的头文件,在上图左栏右击“OpenCVTest”,在点击属性,就会出现如下对话框:在VC++目录中->包含目录中加入D:\Program Files\OpenCV\opencv\build\include; D:\Program Files\OpenCV\opencv\build\include\opencv; D:\ProgramFiles\OpenCV\opencv\build\include\opencv2如下图从父级或项目默认设置继承(I),这个需要打勾,后面配置库文件目录也是一样的。

vs2012配置opencv2.4.9详解

vs2012配置opencv2.4.9详解

win7下vs2012配置opencv2.4.91.准备工作:系统:Windows 7平台:Visual Studio 2012 UltimateOpenCV:2.4.9(点此下载/)选择这里的opencv forwindows,点击就会下载到opencv2.4.9.exe。

2.解压OpenCV-2.4.9.exe解压(不是安装)到放置OpenCV的位置,例如 E:\Program Files\OpenCV249可以看到,解压后在这个文件夹里面会生成一个文件夹“opencv”,里面就是OpenCV用到的全部文件了,比如“build ”、“include”等文件夹,如下图:3.设置用户变量。

计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv\build\x86\vc11\bin (1)变量值有如下选择:32位VS2008:C:\opencv\build\x86\vc9\bin64位VS2008:C:\opencv1\build\x64\vc9\bin32位VS2010:C:\opencv\build\x86\vc10\bin64位VS2010:C:\opencv\build\x64\vc10\bin32位VS2012:C:\opencv\build\x86\vc11\bin64位VS2012:C:\opencv\build\x64\vc11\bin32位VS2013:C:\opencv\build\x86\vc12\bin64位VS2013:C:\opencv\build\x64\vc12\binopencv2.4.9目录如下,没有vc9(vs2008):(2)打开软件安装目录查看vs版本,可以发现我安装的vs2012是在Microsoft Visual Studio 11.0里面,同时可以看到我没有安装vs2013(vc12).(3)打开计算机>属性>高级系统设置>环境变量>新建,新建一个环境变量,变量名:path;变量值E:\opencv\build\x86\vc11\bin,点击确定,保存变量。

Visual_studio2012指导教程

Visual_studio2012指导教程

Visual C++ 指导教程Visual Studio 2012在本指导教程中,将介绍 Visual Studio 开发环境,以与可以使用 Visual C++ 创立的各种类型的应用程序。

其中包括命令行应用程序、Windows 应用程序,甚至简单的游戏。

本指导教程还将介绍如何创立可重用代码库,以与如何在编写和测试了代码后将其交付给客户。

因为每个主题都以上一主题中的信息为根底,所以我们建议您按顺序完成指导教程。

在每个主题的底部,您可以找到指导教程下一主题的导航和上一主题的〔如果需要返回并查看某些容〕。

本指导教程假定您具备 C++ 语言的根底知识。

本节容Visual Studio IDE 简介 (C++)描述如何使用 Visual Studio IDE 创立解决方案和项目,以便有效地编写代码并生成、调试、测试和部署应用程序。

创立命令行应用程序 (C++)介绍 C 和 C++ 命令行应用程序,讨论如何创立符合 ANSI 的 C 或 C++ 程序,并描述如何使用命令行编译器编译应用程序。

创立 Windows 应用程序 (C++)描述如何创立 Windows API (Win32) 应用程序、Windows 窗体应用程序、Windows 窗体控件,甚至简单的 DirectX 游戏。

创立可重用代码〔C++〕描述如何创立动态库 (DLL)、静态库和托管程序集,以便多个应用程序可以方便地重用代码。

下一步要做什么 (C++)包含指向文档其他局部的,您可以学习关于指导教程中介绍的主题的更多信息。

Visual Studio IDE 简介 (C++)Visual Studio 集成开发环境 (IDE) 提供了一组工具,可帮助您编写和修改代码,以与检测和更正错误。

在这些主题中,您将创立一个新的标准 C++ 程序,并使用 Visual Studio 为 C++ 开发人员提供的功能测试该程序的功能。

您创立的简单程序将跟踪有多少个玩家正在玩各种纸牌游戏。

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环境配置 01. 实验环境 (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 x64Microsoft Visual Studio 2012OpenCV 2.4.3CMake2.8.10TBB412.实验目的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平台安装文件。

可以在/downloads.html找到下载。

VS2012配置OpenCV2.4.10(亲测可用!)

VS2012配置OpenCV2.4.10(亲测可用!)

VS2012配置OpenCV2.4.10(亲测可用!)OpenCV是目前机器视觉/图像处理领域最常用的函数库之一,提供了多种编程语言访问的接口,在商业和研究领域中非常常用,基本上所有图像处理入门人员都使用或试图使用过OpenCV,但是~但是~,尼玛,配置不上VS编译环境啊,各种编译不过啊!鼓捣了一两天,只能作罢,OK,如果你也有这种情况,本篇文章对你来说价值非凡!让我们一起开启OPenCV的奇妙之旅吧!1.下载和安装OpenCV SDK1.1资源下载网上资源一大堆,直接问度娘即可,目前最新版本是OpenCV-2.4.13,什么?找不到下载资源?童鞋,考虑下关闭本文档,卸载VS、VC吧……1.2资源安装下载后双击解压会提示设置解压路径,推荐路径D:\Program Files。

(很多童鞋装各种东西入C盘,C盘已不堪重负)然后点击Extract按钮,进行安装。

2.环境变量和路径设置打开计算机→属性→高级系统设置,在高级目录下单击环境变量按钮,打开环境变量设置对话框。

2.1用户变量设置在用户变量(此处为lbs的用户变量中)添加两个变量。

新建opencv变量,变量值设置为D:\Program Files\opencv\build。

新建path变量,变量值设置为D:\Program Files\opencv\build\x86\vc11\bin。

此处如果已存在path变量,仅需对其变量值修改就行,在后面加上上述路径,但需要用分号和前面的路径隔开(英文半角下的分号)2.2系统变量设置在原有的path变量中对变量值修改,在变量值的最后加上D:\Program Files\opencv\build\x86\vc11\bin路径,注意要使用英文半角下的分号和前面的路径隔开。

路径添加后重启计算机生效。

3.工程项目属性设置3.1新建工程(1)新建Win32控制台应用程序,此处工程名命名为OpenCVTest。

并在后续的属性设置中选择空工程(Empty Project)(2)为该工程添加源文件,并命名为OpenCVTest.cpp3.2属性管理器之Debug环境下配置3.2.1新建属性表,并命名为OpenCV_debug_property.props(1)在视图(View)目录的下拉菜单中打开属性管理器(Property Manage),也可以直接在VS2012界面的左下角打开Property Manage快捷键进入属性管理器(Property Manage)界面,如下图所示。

vs2012配置opencv2410(亲测可用!)

vs2012配置opencv2410(亲测可用!)

VS2012配置OpenCV2.4.10(亲测可用!)OpenCV是目前机器视觉/图像处理领域最常用的函数库之一,提供了多种编程语言访问的接口,在商业和研究领域中非常常用,基本上所有图像处理入门人员都使用或试图使用过OpenCV,但是~但是~,尼玛,配置不上VS编译环境啊,各种编译不过啊!鼓捣了一两天,只能作罢,OK,如果你也有这种情况,本篇文章对你来说价值非凡!让我们一起开启OPenCV的奇妙之旅吧!1.下载和安装OpenCV SDK1.1 资源下载网上资源一大堆,直接问度娘即可,目前最新版本是OpenCV-2.4.13,什么?找不到下载资源?童鞋,考虑下关闭本文档,卸载VS、VC吧……1.2 资源安装下载后双击解压会提示设置解压路径,推荐路径D:\Program Files。

(很多童鞋装各种东西入C盘,C盘已不堪重负)然后点击Extract按钮,进行安装。

2.环境变量和路径设置打开计算机→属性→高级系统设置,在高级目录下单击环境变量按钮,打开环境变量设置对话框。

2.1 用户变量设置在用户变量(此处为lbs的用户变量中)添加两个变量。

新建opencv变量,变量值设置为D:\Program Files\opencv\build。

新建path变量,变量值设置为D:\Program Files\opencv\build\x86\vc11\bin。

此处如果已存在path变量,仅需对其变量值修改就行,在后面加上上述路径,但需要用分号和前面的路径隔开(英文半角下的分号)2.2 系统变量设置在原有的path变量中对变量值修改,在变量值的最后加上D:\Program Files\opencv\build\x86\vc11\bin路径,注意要使用英文半角下的分号和前面的路径隔开。

路径添加后重启计算机生效。

3.工程项目属性设置3.1 新建工程(1)新建Win32控制台应用程序,此处工程名命名为OpenCVTest。

VC_2013下安装OpenCV2.4.10

VC_2013下安装OpenCV2.4.10

VC 2013 下安装 OpenCV2.4.10说明: 随便打开一个项目,然后点击菜单中的 视图->属性管理器(VS2013 好像是 视图->其他窗口->属性管理器), 打开属性管理器,点击项目前的箭头,展开项目,找到 debug 或者 release 下面的 er 这个属性, 双击会出现一个跟在项目上右键属性一样的窗口,修改里面的“VC++目录”就是修改了全局的,题注应该知道咋改, 就是把 opencv 的 include 和 lib 目录加进去,重新打开 VS 或者新建项目也会继承这里的 include 目录和 lib 目录。

1. 安装平台:32 位 window7,VS2013; 2. OpenCV 2.4.10 不支持 VC 6.0; 大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。

特别要注意自己的操作系统的位数以及相应的路径。

一、下载 OpenCV将 OpenCV-2.4.10.exe 解压并放到某个目录下,例如C:\Program Files\OpenCV2410 (本人的解压目录)。

解压后的目录结构如下图。

说明:不管你系统是 32 位还是 64 位,路径目录均选择 X86,因为编译都是使用 32 位编译;如果选用 X64,则程序运行时候会出错。

二、设置环境变量右键单击我的电脑→属性→高级→环境变量。

用户变量设置设置 PATH选中 PATH,单击编辑。

在 PATH 的末尾添加以下路径:C:\ProgramFiles\OpenCV2410\opencv\build\x86\vc10\bin。

说明:1、可根据自己的情况,将其改为你的..\OpenCV2410\opencv\build\x86\vc10\bin 文件夹所在的路径 新建 OpenCV 变量(如果不配置系统变量会丢失 dll 动态库)单击新建,在弹出的对话框中,将变量名和变量值分别设置为 OpenCV 和 C:\ProgramFiles\OpenCV244\opencv\build。

opencv配置教程

opencv配置教程

openCV配置教程by どん1.安装opencv,记住自己安装的位置。

计算机->属性->高级系统设置->环境变量,在“Administrator的用户变量”中新建一个变量,变量名取为PATH(其实是随便取的,不要与其他的重名就行),变量值为例如这样的路径:“D:\OpenCV\opencv\build\x86\vc10\bin”,其中bin文件夹中有一堆.dll 文件.再新建一个变量,变量名取为OPENCV,变量值为例如这样的路径:“D:\OpenCV\opencv\build”。

2.打开Visual studio2010,建立一个工程。

注:每个新工程要用openCV都必须按下面的方法配置。

3.项目->”…属性Alt_F7”4.VC++目录-> 包含目录-> 编辑,添加几句话:“D:\OpenCV\opencv\build\include”,“D:\OpenCV\opencv\build\include\opencv”,“D:\OpenCV\opencv\build\include\opencv2”。

5.VC++目录-> 库目录-> 编辑,添加:“D:\OpenCV\opencv\build\x86\vc10\lib”。

6.配置(C) : -> Debug7.配置属性->链接器->输入->附加依赖项->编辑8.将opencv的目录下: ”D:\OpenCV\opencv\build\x86\vc10\lib”下的文件名通过麻烦的手段(逐个复制)弄到记事本里(最好保存,以备下次使用),再复制到下面的框中。

我的需要复制的文件为(为我自己弄一个清单):opencv_calib3d248.libopencv_calib3d248d.libopencv_contrib248.libopencv_contrib248d.libopencv_core248.libopencv_core248d.libopencv_features2d248.libopencv_features2d248d.libopencv_flann248.libopencv_flann248d.libopencv_gpu248.libopencv_gpu248d.libopencv_highgui248.libopencv_highgui248d.libopencv_imgproc248.libopencv_imgproc248d.libopencv_legacy248.libopencv_legacy248d.libopencv_ml248.libopencv_ml248d.libopencv_nonfree248.libopencv_nonfree248d.libopencv_objdetect248.libopencv_objdetect248d.libopencv_ocl248.libopencv_ocl248d.libopencv_photo248.libopencv_photo248d.libopencv_stitching248.libopencv_stitching248d.libopencv_superres248.libopencv_superres248d.libopencv_video248.libopencv_video248d.libopencv_videostab248.libopencv_videostab248d.lib注:不同版本的openCV的上述文件名可能有些区别,不要照抄,虽然麻烦了点,还是到自己的目录中去找吧。

背景自适应的GrabCut图像分割算法

背景自适应的GrabCut图像分割算法

背景自适应的GrabCut图像分割算法杨绍兵;李磊民;黄玉清【摘要】图割用于图像分割需用户交互,基于激光雷达传感器,提出了阈值法得到目标的外截矩形,再映射到图像完成交互.针对GrabCut算法耗时、对局部噪声敏感和在复杂背景提取边缘不理想等缺点,提出了背景自适应的GrabCut算法,即在确定背景像素中选取可能目标像素邻近的一部分像素作为背景像素,使背景变得简单,尤其适用于前景像素在整幅图中所占比例较小和在目标像素周围的背景相对简单的情况.实验结果表明,所提算法与GrabCut算法相比,减少了图的节点数,降低了错误率,有效的提高了运行效率,提取的目标边缘信息更加完整、平滑.【期刊名称】《计算机系统应用》【年(卷),期】2017(026)002【总页数】5页(P174-178)【关键词】图像分割;GrabCut算法;高斯混合模型;激光雷达;背景自适应【作者】杨绍兵;李磊民;黄玉清【作者单位】西南科技大学信息工程学院,绵阳621010;西南科技大学研究生院,绵阳621010;西南科技大学信息工程学院,绵阳621010【正文语种】中文图像分割是图像处理和计算机视觉领域的基础, 图像分割的算法数量众多, 其中, 图割作为一种结合图像边缘信息和纹理信息鲁棒的能量最小化方法, 得到越来越多的重视, 广泛的应用于图像分割、机器视觉等领域.2001年Yuri Y Boykov和Maric -PierrJolly[1]首次证实了离散能量函数的全局最优化能有效地用于N-D 图像的精确目标提取, 并提出了一种交互式的基于能量最小化的二值图割算法, 利用最大流/最小割算法得到全局最优解[2]. 许多学者对构建颜色空间、纹理形状以及信息模型和能量函数进行了改进, Han等[3]使用多维非线性结构颜色特征取代GMM(Gaussian Mixture Model).2004年, Rother等[4]提出GrabCut算法, 是目前目标提取最好的方法之一. Poullot等[5]提出将GrabCut用于视频无监督的前景分割, 取得了很好的效果. 针对GrabCut耗时的缺陷, 文献[6]提出用分水岭分割把像素聚成超像素, 提高分割效率; 文献[7]提出了降低原图像的分辨率来加快收敛速度; 周良芬等[8]人采用分水岭降低了错误率且提高了运行效率. Hua等[9]采用感兴趣区域(ROI)提高算法的准确率. 目前GrabCut在工程应用很少, 主要因为图割算法GMM模型的迭代求解过程复杂, 运算量大, 而且图割是一种交互式分割算法, 需要借助其他传感器, 为算法提供交互信息. 针对以上两个问题本文提出了一种用激光雷达来实现用户交互的背景自适应的GrabCut分割算法.Rother等[4]提出了Grab Cut算法在Graph cut 基础上做了一下几个方面改进: 首先, 利用RGB三通道GMM取代灰度直方图来描述背景像素和前景像素的分布; 其次, 利用迭代求取GMM中的各参数取代一次估计完成能量函数最小化; 最后, 通过非完全标记方法, 用户只需框选可能前景区域就可完成交互.1.1 相关Graph Cut分割算法设G=(V,E)为一个无向图, 其中V是一个有限非空的节点集合, E为一个无序节点对集合的边集, 给定的待分割的图像I, 要分割出目标和背景, 通过用户交互或者其他传感器的信息确定前景和背景的种子后, 可以对应构建两个特殊的终端节点: 源节点S和汇节点T, P为像素映射成图的节点集合, 则V=(S,T)∪P. 分割后, 源节点S 和目标节点相连, 汇节点T则和背景节点相连如图1(c). 要转换成对边加权的图G,将图像I每个像素映射成G中的一个节点, 像素之间的关系用图G中边的权重表示. 边分为两种, 终端节点S和T分别与像素节点连接、像素节点与像素节点连接, 分别对应的t-links和n-links.给每个像素pi一个二值标号li∈{0,1}, 其中0代表背景背景像素, 1代表目标像素, 则标号向量L={l1,l2…,lN}为二值分割结果. 边的权重(代价)既要考虑两端点所对应像素的位置, 也要考虑像素间的灰度差. 为了获得最优的二值分割结果定义一个λ加权的区域项R(L)和边界项B(L)的组合:其中:数据项中, Rp(0)为像素p为目标的代价, Rp(1)为像素p为背景的代价; 在边界项中, 如果像素p和q同属于目标或者背景, 则对应边的代价F(p,q)比较大; 如果不属于同类, 则F(p,q)较小. 综上所述, 边集E中各个边的权重(代价函数)如表1所示. Boykov[1,2]的交互式分割过程如图1所示, (a)为一个的二维图像, 将其映射为图G 得到(b)图, 其中B像素表示背景种子, O表示前景种子, 由区域项表达式(2)得到t-links, 边界项表达式(3)得到n-links. 采用最大流/最小割得到最优解.1.2 GrabCut算法原理GrabCut采用RGB颜色空间模型, 在文献[10]中用K个高斯分量(一般K=5)的全协方差GMM来分别对目标和背景建模. 存在一个向量K=(k1,…kn…kN), kn表示第n个像素的高斯分量. GrabCut采用迭代过程使目标和背景GMM的参数更优, 能量函数最小; 此外, GrabCut的交互更为简单, 只需要框出可能目标像素, 其他的视为背景像素即只需要提供框的两个斜对角坐标就能完成交互能量函数定义为式(5), 其中U(L,θ,z)为区域项, 表示一个像素被归类为目标或者背景的惩罚; V(L,z)为边界项两个像素不连续的惩罚. D(ln,kn,θ,zn)为第n个像素对应的混合高斯建模后归为前景或者背景的惩罚.GrabCut算法步骤:初始化:(1) 用户直接框选可能目标得到初始的trimap T. 框外全为背景像素TB,框内为TU, 且有.(2) 当n∈TB则ln=0, 当n∈TU则ln=1.(3) 根据前景和背景的标号, 就可以估计各自的GMM参数.迭代最小化:(1) 为每个像素分配GMM的高斯分量:(2) 从给定的图像数据z中, 学习优化GMM参数:(3) 采用能量最小化进行分割估计:(4) 重复上面步骤, 直到收敛.GrabCut需要用户交互, 在实际工程运用中, 我们需借助其他传感器的信息. 本文采用32线激光雷达完成GrabCut所需的交互信息. 激光雷达和CCD(Charge-coupled Device)的标定不是本文重点内容, 因此假定激光雷达和CCD标定已经完成, 激光雷达和CCD图像的像素建立了映射关系.如图2为激光对凹和凸障碍物检测的原理图, H为激光雷达相对地面的高度, W为凹障碍物的宽度, p1, p2, p3, p4在一条线上激光雷达扫描与地面相交的四个点, θ1, θ2, θ3为激光的发射角, 当激光雷达参数一定时θ=θ1=θ2=θ3; D为激光雷达到p1的距离, θ一定时, 随着D越大, 激光雷达两线之间的水平距离越远, 也就是说分辨率越低, 则自主机器人(如挖掘机)作业时精度不够, 因此我们把激光雷达的信息和CCD图像信息进行融合, 借助图像信息提高精度.如图3所示, I为一幅RGB图, 图中小矩形代表一个像素, 深色部分为检测到的障碍物, 外部的矩形框为所需的交互信息, 由图可知完成算法交互只需求出矩形的斜对角两个坐标(x1,y1)和(x2,y2). 激光雷达主要的作用是检测障碍物并返回可能目标框的两点坐标.在获取雷达数据后, 本文采用项志宇等[10]提出的算法, 首先进行数据滤波, 数据滤波包含两个步骤. 首先, 距离值大于一定阈值的数据点认为是不可靠的点, 直接丢弃; 再采用窗口大小为3的中值滤波除去噪声点. 数据滤波后, 把相互之间距离差在一定的阈值范围内的数据点聚成快团. 当得到障碍物的大体轮廓后, 采用外截矩形, 再映射到图像得到图3中的两个坐标(x1,y1)和(x2,y2), 完成交互.针对GrabCut算法耗时、在复杂背景提取边缘不理想等缺点, 提出了背景自适应的GrabCut算法. 图割解决图像分割问题时, 需要将图像转化为网络图, 图像较大G的节点较多, 计算量变大, 因此我们可以根据可能目标像素的个数来自适应背景像素, 这样不仅减少了图G的节点数, 而且也使背景变得更加简单, 背景的GMM 更有效, 分割效果更好.图4为背景自适应的GrabCut算法原理, 其中I为RGB图像, 深色部分为障碍物. 在为改进之前, U为可能目标像素, 为背景像素, 交互时只需得到(x1,y1)和(x2,y2)两个坐标, 再分别进行GMM, 可求得各像素属于目标或者背景的概率. 改进后, 就可以得到U为可能目标像素, 图中两个矩形框之间的像素集合B为背景像素. 在得到(x1,y1)和(x2,y2)两个坐标, 背景我们在此基础上横轴扩展m个像素, 纵轴扩展n个像素得到B, 设I大小为m0x n0的一副图像, 则:可得到约束条件:改进后的背景根据前景的变化而变化, 从而改变了GrabCut的初始化.初始化:(1) 通过激光雷达得到(x1,y1)和(x2,y2)两个坐标, 以两个坐标画一个矩形得到U, 则矩形内为可能目标像素, 得到初始的trimap T, 框内为TU, (x1-m,y1-n)和(x2+m,y2+n)两个坐标所得的矩形框内和的差集得到TB.(2) 当n∈TB则ln=0, 当n∈TU则ln=1.(3) 根据前景和背景的标号, 就可以估计各自的GMM参数.本文选择了不同背景下的3幅图, 将改进的算法和文献[4]提出的GrabCut算法进行对比分析. 实验PC配置为2.4GHz的Intel双核CPU4G内存, 在windows平台下, 采用Visual Studio 2012配置opencv2.4.9, m和n的值的选取尽量让确定背景像素(两个矩形框之间的像素)单一, 这样GMM参数更优, 分割效果更好. 在自动交互的情况下, 通过实验并考虑实时性和分割效果, 得到式(8)中的m和n的值. 当然, 这里仅仅适用一般情况训练所得到的结果, 对于在特殊环境, 还需进一步实验得到参数m和n的值.图5中, 图像背景较为复杂且光照较暗, 目标邻近背景相对单一且前景和背景像素区分度不大. (b)为文献[4]提出的算法分割效果较差, 边缘不完整, 人的下半身和头部信息丢失; (c)为本文提出的算法, 分割的目标更加准确, 边缘完整, 目标信息没有丢失.图6为背景相对单一分割的效果图, (b)和(c)分割的目标信息没有丢失信息都完整, 本文算法边缘信息更光滑.图7为草地上的分割结果, (b)和(c)总体来讲分割效果都比较好, 但由于头部周围背景相对复杂一些, 所以本文提出的算法分割的边缘更为细致.本文采用错误率error和分割时间两个定量指标对图像分割结果进行客观评价. 假设理想分割后目标像素数量为N0, 此处用人工手动分割取代理论上的理想分割, N1为采用其他算法分割后目标像素个数, 则可得到:由表2对比可知, error显著的减少, 由于在图5中, 前景像素周围的背景像素单一, 所以分割错误率减少的最多; 由分割时间对比可知, 改进的算法提高了运行效率, 图5采用本文算法运行时间减少的最多, 而图7减少的时间最少, 可以看出本文提出的算法更加适用于前景像素在整幅的像素所占比例较少的情况.综上所述, 从实时性和错误率来分析, 本文的算法提取的目标更加高效、省时, 尤其在背景较复杂和前景像素在整幅图的像素所占比例较少时, 本文的算法分割的边缘更加光滑、细致, 更加节省时间.针对在工程实现中, GrabCut算法分割时需用户交互确定部分背景和可能前景像素, 本文提出了对激光雷达信息采用阈值法得到两个坐标信息, 再映射到图像完成交互. 针对GrabCut的局限性, 本文提出了背景自适应的GrabCut自动分割算法, 背景根据可能前景像素的变化而变化, 减少了背景像素, 从而减少了图的节点数, 分割时间显著的减少. 此外, 通过减少背景像素同时也可以剪除复杂的背景, GMM建模效果更有效, 错误率降低到3.5%以内, 分割的目标细节更丰富, 提取的目标更完整, 同时获得更细致、平滑的边缘, 通过算法分割效果分析、错误率和时间开销比较, 有效的说明了本文算法的优越性.1 Boykov YY, Jolly MP. Interactive graph cuts for optimal boundary & region segmentation of objects in N-D images. Proc. 8th IEEE International Conference on Computer Vision, 2001(ICCV 2001). IEEE. 2001.105–112.2 Boykov Y, Kolmogorov V. An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision. Tissue Engineering, 2005, 11(12): 1631–1639.3 Sezgin M, Sankur B. Survey over image thresholding techniques and quantitative performance evaluation. Journal of Electronic Imaging, 2004.4 Rother C, Kolmogorov V, Blake A. “GrabCut”: Interactive foreground extraction using iterated graph cuts. ACM Trans. on Graphics, 2004, 23(3): 307–312.5 Poullot S, Satoh S. VabCut: A video extension of GrabCut for unsupervised video foreground object segmentation. InternationalConference on Computer Vision Theory and Applications. IEEE. 2014. 362–371.6 徐秋平,郭敏,王亚荣.基于分水岭变换和图割的彩色图像快速分割.计算机工程,2009,35(19):210–212.7 丁红,张晓峰.基于快速收敛Grabcut的目标提取算法.计算机工程与设计,2012,33(4):1477–1481.8 周良芬,何建农.基于GrabCut改进的图像分割算法.计算机应用,2013,33(1):49–52.9 Hua S, Shi P. GrabCut color image segmentation based on region of interest. International Congress on Image and Signal Processing. IEEE. 2014.10 项志宇.针对越野自主导航的障碍物检测系统.东南大学学报:自然科学版,2005,(A02):71–74.。

VS2013+OPENCV2.4.10配置

VS2013+OPENCV2.4.10配置

Opencv+VS2013配置一、环境变量配置1.用户变量设置添加用户变量:opencv用户变量值:D:\OPENCV\opencv\build添加用户变量:PATH用户变量的值:D:\OPENCV\opencv\build\x86\vc12\bin注:不管是32位的机子还是64位的机子都选择X86,VS2013对应vc12 2.系统变量设置添加系统变量:PATH系统变量的值:D:\OPENCV\opencv\build\x86\vc12\bin二、新建VC++项目1.新建win32控制台工程三、工程目录配置1.包含目录D:\Program Files\OPENCV\build\includeD:\Program Files\OPENCV\build\include\opencv D:\Program Files\OPENCV\build\include\opencv2 2.库目录D:\Program Files\OPENCV\build\x86\vc12\lib3、连接器->输入->附加依赖项:opencv_ml2410.libopencv_calib3d2410.lib opencv_contrib2410.lib opencv_core2410.libopencv_features2d2410.lib opencv_flann2410.libopencv_gpu2410.libopencv_highgui2410.lib opencv_imgproc2410.lib opencv_legacy2410.libopencv_objdetect2410.lib opencv_ts2410.libopencv_video2410.libopencv_nonfree2410.lib opencv_ocl2410.libopencv_photo2410.libopencv_stitching2410.lib opencv_superres2410.lib opencv_videostab2410.lib(总共19项)opencv_ml2410d.lib opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib opencv_flann2410d.lib opencv_gpu2410d.lib opencv_highgui2410d.lib opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_objdetect2410d.lib opencv_ts2410d.lib opencv_video2410d.lib opencv_nonfree2410d.lib opencv_ocl2410d.lib opencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.lib opencv_videostab2410d.lib四、测试#include<cv.h>#include<highgui.h>using namespace std;int main(){IplImage*test;test=cvLoadImage("D:\\高铁.jpg");//图片路径cvNamedWindow("test_demo",1);cvShowImage("test_demo",test);cvWaitKey(0);cvDestroyWindow("test_demo");cvReleaseImage(&test);return0;}属性表:打开记事本,将以下内容保存成“opencvdebug.props”。

OpenCV2.4.11+VS2012的环境配置+“fatalerrorLNK1112:模。。。

OpenCV2.4.11+VS2012的环境配置+“fatalerrorLNK1112:模。。。

OpenCV2.4.11+VS2012的环境配置+“fatalerrorLNK1112:模。

本来OpenCV环境配置的问题是个基础问题,但是步骤有点⼩烦,所以⼏乎每次都要百度⼀下,加上这次遇到的“fatal error LNK1112: 模块计算机类型“X86”与⽬标计算机类型“x64”冲突”的问题的解决,所幸写⼀篇博客,以后还要配置环境,⾃⼰可以直接看。

⾸先来说OpenCV环境配置问题:第⼀步:给OpenCV压缩包解压到⼀个磁盘中,任何磁盘都可以,我选择解压在C盘。

第⼆步:环境变量的配置,计算机—属性—⾼级系统设置—环境变量第三步:在系统变量当中找到Path,并且在path双击path,开启编辑模式。

在path当中添加OpenCV的相关路径,根据⽂件解压的位置做出相应的更改,⽐如我的就是:C:\opencv\build\x86\vc11\bin C:\opencv\build\x64\vc11\bin 因为有时候会⽤到x64位编译器,所以两个都添加上。

第四步:打开VS2012新建⼀个⼯程,然后找到属性管理器,点击Debug栏⽬,右键添加新项⽬属性表,并且进⾏相关命名,因为以后会反复⽤到这个东西,所以名字要特别⼀点。

第五步:双击新建的属性表,添加相应的⽬录。

通⽤属性— VC++⽬录 — 包含⽬录:(根据解压⽂件的位置)例如我的分别是:C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2然后是库⽬录也是根据解压位置添加的:C:\opencv\build\x86\vc11\lib第六步:添加附加依赖项:连接器——输⼊——添加附加依赖项,然后将下⾯⽂件名放进去。

opencv_core2411d.libopencv_imgproc2411d.libopencv_highgui2411d.libopencv_ml2411d.libopencv_video2411d.libopencv_features2d2411d.libopencv_calib3d2411d.libopencv_objdetect2411d.libopencv_contrib2411d.libopencv_legacy2411d.libopencv_flann2411d.lib好了,⾄此OpenCV环境已经配好了,可以⽤下⾯的代码跑⼀下试试有没有成功:#include<opencv2\core\core.hpp>#include<opencv2\opencv.hpp>#include<opencv2\imgproc\imgproc.hpp>#include<opencv2\highgui\highgui.hpp>using namespace std;using namespace cv;int main(){Mat img=imread("F:/2.jpg"); //图⽚路径if(img.empty()){return -1;}imshow("hehe",img);waitKey(0);return0;}Release模式和Debug模式差不多,只不过在添加附加依赖项的时候,将附件依赖项的⽂件名后⾯的“d”给去掉。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual Studio2012环境下配置OpenCV的步骤2014/12/16 本文将针对Visual Studio2012环境下如何配置OpenCV做出说明,具体如下。

1.下载和安装OpenCV SDK1.1资源下载在OpenCV官网 SDK安装包。

对应自己的操作系统,可以下载Windows,Linux/Mac和ios版本。

目前官网已经给出OpenCV v3.0bata版本。

本文中以OpenCV v2.4.10版本为例进行安装。

(各个版本安装过程大体相同,后面将针对不同之处给出说明)1.2资源安装下载的OpenCV SDK的后缀名为exe,是一个解压安装程序。

双击后会提示设置解压路径,推荐路径D:\Program Files。

(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹然后再解压,那是多此一举的事情)然后点击Extract按钮,进行安装。

2.环境变量和路径设置打开计算机→属性→高级系统设置,在高级目录下单击环境变量按钮,打开环境变量设置对话框。

2.1用户变量设置在用户变量(此处为lbs的用户变量中)添加两个变量。

新建opencv变量,变量值设置为D:\Program Files\opencv\build。

新建path变量,变量值设置为D:\Program Files\opencv\build\x86\vc11\bin。

此处如果已存在path变量,仅需对其变量值修改就行,在后面加上上述路径,但需要用分号和前面的路径隔开(英文半角下的分号)2.2系统变量设置在原有的path变量中对变量值修改,在变量值的最后加上D:\Program Files\opencv\build\x86\vc11\bin路径,注意要使用英文半角下的分号和前面的路径隔开。

※说明(1)不论电脑是32位还是64位,上述路径中均以x86路径输入,因为创建的程序中默认是在使用win32编译器进行编译。

(2)路径修改后需要重启电脑才能生效。

3.工程项目属性设置工程项目属性配置主要是指对Debug和Release环境下的工程属性进行修改(通过修改er文件进行)。

查阅相关资料,发现Visual Studio 2012中已经不再区分Debug和Release的er文件,所以配置了Debug或Release中的任何一个er,就相当于同时配置了Debug和Release环境下的两个er。

但又因为Debug和Release环境下加载的库文件不同,需要单独为Debug和Release环境下的工程项目属性进行配置。

考虑到VS2012的该特点总结出以下属性配置方法。

3.1新建工程(1)新建Win32控制台应用程序,此处工程名命名为OpenCVTest。

并在后续的属性设置中选择空工程(Empty Project)(2)为该工程添加源文件,并命名为OpenCVTest.cpp3.2属性管理器之Debug环境下配置Visual Studio 2012中已经不再区分Debug和Release的er文件,所以配置了Debug或Release中的任何一个er,就相当于同时配置了Debug和Release环境下的两个er。

但又因为Debug和Release环境下加载的库文件不同,需要单独为Debug和Release环境下的工程项目属性进行配置。

此处给出属性管理器之Debug环境下配置的方法。

3.2.1新建属性表,并命名为OpenCV_debug_property.props(1)在视图(View)目录的下拉菜单中打开属性管理器(Property Manage),也可以直接在VS2012界面的左下角打开Property Manage快捷键进入属性管理器(Property Manage)界面,如下图所示。

(2)在Debug|Win32目录上单击选择“添加新项目属性表”,新建属性表,并命名为OpenCV_debug_property.props,如下图所示。

3.2.2打开新建的属性表OpenCV_debug_property.props,添加包含目录 打开属性表OpenCV_debug_property.props在VC++选项对应的包含目录中,添加包含的目录,此处添加3个目录D:\Program Files\opencv\build\includeD:\Program Files\opencv\build\include\opencvD:\Program Files\opencv\build\include\opencv23.2.3在属性表OpenCV_debug_property.props,添加库目录打开属性表,并在VC++选项对应的库目录中,添加库目录,此处添加1个目录D:\Program Files\opencv\build\x86\vc11\lib※说明(1)不论电脑是32位还是64位,上述路径中均以x86路径输入,因为创建的程序中默认是在使用win32编译器进行编译。

(2)输入的路径中选择vc11是因为本处是在VS2012平台上搭建。

vc10对应VS2010,vc11对应VS2012,vc12对应VS20133.2.4在属性表OpenCV_debug_property.props,在链接器中添加附加依赖项打开属性表OpenCV_debug_property.props,选择链接器(LINKER)目录下的输入(INPUT)选项添加附属依赖项,加入如下库文件,共19个(后缀均带d,表示是Debug环境下)opencv_ml2410d.libopencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410d.libopencv_gpu2410d.libopencv_highgui2410d.libopencv_imgproc2410d.libopencv_legacy2410d.libopencv_objdetect2410d.libopencv_ts2410d.libopencv_video2410d.libopencv_nonfree2410d.libopencv_ocl2410d.libopencv_photo2410d.libopencv_stitching2410d.libopencv_superres2410d.libopencv_videostab2410d.lib3.3属性管理器之Release环境下配置Release环境下的属性配置大体同Debug环境下的配置,此处相同步骤不再赘述,仅给出不同配置的步骤说明。

3.3.1新建属性表,并命名为OpenCV_release_property.props在Release|Win32目录上单击选择“添加新项目属性表”,新建属性表,并命名为OpenCV_release_property.props,方法同Debug环境下的配置,只是属性表所属的目录不同。

3.3.2打开新建的属性表OpenCV_release_property.props,添加包含目录此处方法同Debug环境下的包含目录配置,不再赘述。

3.3.3打开新建的属性表OpenCV_release_property.props,添加库目录此处方法同Debug环境下的包含目录配置,不再赘述。

3.3.4在属性表OpenCV_release_property.props,在链接器中添加附加依赖项此处和Debug环境下添加的附加依赖项不同,在附加依赖项中添加如下库文件,共19个。

(后缀均不带d,表示是Release环境)opencv_objdetect2410.libopencv_ts2410.libopencv_video2410.libopencv_nonfree2410.libopencv_ocl2410.libopencv_photo2410.libopencv_stitching2410.libopencv_superres2410.libopencv_videostab2410.libopencv_calib3d2410.libopencv_contrib2410.libopencv_core2410.libopencv_features2d2410.libopencv_flann2410.libopencv_gpu2410.libopencv_highgui2410.libopencv_imgproc2410.libopencv_legacy2410.libopencv_ml2410.lib4.测试程序完成了上述步骤后,Visual Studio2012环境下配置OpenCV的步骤已经全部完成,下面给出一个测试程序,验证环境配置的正确性。

在程序的源文件目录下的OpenCVTest.cpp文件中加入下述代码。

#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>using namespace cv;int main(){// 读入一张图片Mat img=imread("nanjing.jpg");// 创建一个名为 "游戏原画"窗口cvNamedWindow("南京夜景真美啊!");// 在窗口中显示游戏原画imshow("南京夜景真美啊!",img);// 等待6000 ms后窗口自动关闭waitKey(6000);}在工程目录下加入一张测试图片,此处以”nanjing.jpg”为例,然后分别在Debug环境下和Release环境下运行程序,程序运行正确,可以正确显示图像,验证了上述配置的正确性。

(1)Debug环境下,程序运行正确(2)Release环境下,程序运行正确5.永久配置OpenCV环境针对其他的OpenCV工程,不用再像上述步骤一样进行一步一步的配置,只需进行一步操作就可以快速配置OpenCV环境,详情如下。

将上述步骤创建的两个属性表OpenCV_debug_property.props和OpenCV_release_property.props保存到一个常用的文件夹中。

当创建新工程时,只需在属性管理器中添加上述两个属性表就可,快速完成配置OpenCV的步骤。

6.常见问题解答FAQ和参考资料撰写本文时查阅了很多网上和书籍资料,但大多未结合Visual Studio 2012中已经不再区分Debug和Release的er的特点进行配置,因此自己在第一次配置时走了不少弯路,花了大半个晚上去尝试修改。

相关文档
最新文档