VS2013+OpenCV2.48配置

一、下载OpenCV

OpenCV下载地址http://opencv.org/

SDK下载链接在页面右侧

根据平台选择相应的SDK下载。在Windows开发下开发,选择下载OpenCV for Windows。

二、安装OpenCVSDK

双击下载的opencv-2.4.8.exe进行SDK安装。

设置opencv sdk解压目录,点击Extract后解压。

解压过程如上图

三、OpenCV SDK文件夹结构简介

解压后再解压目录下有OpenCV目录

在opencv文件夹下有build和sources两个文件夹,build是sdk 包,sources是源码包(里面也有opencv使用例子源码)

在build文件夹下include是C&C++头文件所在文件夹;doc是文档文件夹;java是java开发的库文件夹;python是pathon开发库文件夹;x64和X86是已编译好的C&C++的64位和32位库文件夹,在它里面有vc10、vc11、vc12三个文件夹,分别对应VC++2010、VC++2012和VC++2013。

因不同版本VC++生成的库文件所需的运行时不同,因此配置VC++工程时需要选择相对应的二进制库文件。在vcXX文件夹下bin文件夹是公用的动态链接库,在系统环境变量里配置后,所以opencv工程都能共享他们;lib文件夹是动态库隐式调用所需的静态链接文件;staticlib文件夹是静态链接库,需要生成不依赖动态库的程序就是用它们。

四、设置opencv的环境变量

“开始菜单”-> “控制面板”->“系统”或在“计算机”上右键选“属性”打开系统设置窗口

选择“高级系统设置”打开“系统属性”窗口

选择“高级选项卡“,点击“环境变量”按钮打开“环境变量”窗口

在系统变量里找到Path变量,在Path中添加值SDK中的bin目录。本人解压时设置的目录是E:\SDK,用到是32位库,VC++用的是2013,因此添加到bin目录为E:\SDK\opencv\build\x86\vc12\bin。注:环境变量配置后,需重启系统才能生效。

五、VC++工程配置

打开vs2013,选择新建项目。

选择Visual C++模板创建空项目。因只是简单测试下OpenCV SDK能否正常使用,不想引入windows api、MFC、.NET这些,我选择了最简单的空项目来创建工程。

项目建好后,点击“菜单”->“项目”->“属性”,打开项目属性对话框,选择“C++目录”对SDK目录进行配置。

选择“包含目录”,在下拉菜单中选择“编辑”,打开包含目录对话框。添加前面介绍过的SDK中的include文件夹的路径。

选择“库目录”,在下拉菜单中选择“编辑”,打开包含目录对话框。添加前面介绍过的SDK中的lib文件夹的路径。这里需要注意点,开发32位程序选择x86目录下的,64位则选X64目录下的,同时还要根据自己所用的VC++版本选择相应的vcXX目录。我要开发的是32位程序,使用的2013因此,选择的是X86中vc12下的lib文件夹。

接下来是配置项目所需的静态链接库。选择“链接器”下的“输入”,在“附加依赖项”下拉项中选择“编辑”,打开附加依赖项对话框。

在附加依赖项中添加opencv_core248d.lib,这是opencv最基本的类和函数;添加opencv_highgui248d.lib,它是opencv提供的简单gui;添加opencv_imgproc248d.lib,它提供了一些基础的图像处理操作。简单的运用,这三个库基本够了。用到其他opencv功能时,只需按照所用函数所在的头文件名,添加相应的lib文件就行了。

注:前面设置的是新建工程的Debug版配置,切换到Release用同样的方法配置就可以,唯一的区别是Debug版用到的dll和lib文件都有后缀d,Release版使用的不带d。配置Release的附加依赖项时别忘了把d删掉。

六、测试OpenCV配置是否正确

在解决方案中,在项目上右键,选择添加新建项。

在对话框中选择添加C++文件

在新建的C++文件中写上一个最简单的测试代码生成后运行。如果配置无误,生成的程序就能正常运行了。如果提示缺少dll文件,是环境变量没配置对,重新配置环境变量或将SDK中bin目录中的相应dll文件靠到工程目录下或系统所在盘Windows\System32下就可以解决。如果是提示链接错误,是附加依赖项没设置对,或没有添加够所需的lib文件。

这里来段用OpenCV打开并显示图片的代码

#include <opencv2\opencv.hpp>

//opencv2下是C++接口

using namespace cv;

//cv是Opencv的名字空间

int main()

{

Mat img = imread("E:/lena.png");

//新建一个矩阵用来存放从文件读取的图片

namedWindow("image",CV_WINDOW_AUTOSIZE);

//创建一个窗口,窗口标题设为image,并设成自动大小

imshow("image",img);

//在image名字的窗口中显示img中的图像

waitKey();

//等待键盘输入

return 0;

//程序结束

}

例子中所用的测试图片是OpenCV自带的lena.png。看过图像学书的是不是觉着这图很眼熟,似乎所有图像学的书都会用到这图。这图基本上可以算图像学的一个标准用图了,不过这图并不是完整版哦,它只是截取了其中的一部分。

个人总结清单:

OpenCV-2.4.13





1、系统环境变量

D:\opencv\opencv\build\x86\vc12\bin

2、VC++ 目录

包含目录:

D:\opencv\opencv\build\include

库目录:

D:\opencv\opencv\build\x86\vc12\lib

3、连接器->输入->附加依赖项





Release

opencv_calib3d2413.lib;

opencv_contrib2413.lib;

opencv_core2413.lib;

opencv_features2d2413.lib;

opencv_flann2413.lib;

opencv_gpu2413.lib;

opencv_highgui2413.lib;

opencv_imgproc2413.lib;

opencv_legacy2413.lib;

opencv_ml2413.lib;

opencv_nonfree2413.lib;

opencv_objdetect2413.lib;

opencv_ocl2413.lib;

opencv_photo2413.lib;

opencv_stitching2413.lib;

opencv_superres2413.lib;

opencv_ts2413.lib;

opencv_video2413.lib;

opencv_videostab2413.lib;





Debug

opencv_calib3d2413d.lib;

opencv_contrib2413d.lib;

opencv_core2413d.lib;

opencv_features2d2413d.lib;

opencv_flann2413d.lib;

opencv_gpu2413d.lib;

opencv_highgui2413d.lib;

opencv_imgproc2413d.lib;

opencv_legacy2413d.lib;

opencv_ml2413d.lib;

opencv_nonfree2413d.lib;

opencv_objdetect2413d.lib;

opencv_ocl2413d.lib;

opencv_photo2413d.lib;

opencv_stitching2413d.lib;

opencv_superres2413d.lib;

opencv_ts2413d.lib;

opencv_video2413d.lib;

opencv_videostab2413d.lib;









测试

--------------------------------------------------------------------------

#include <opencv2/opencv.hpp>

#include <iostream>





using namespace std;

using namespace cv;





int main(int argc, char **argv)

{

Mat img = imread("lena.png");

if (img.empty())

{

cout << "打开图像失败!" << endl;

return -1;

}

namedWindow("image", CV_WINDOW_AUTOSIZE);

imshow("image", img);

waitKey();





return 0;

}

--------------------------------------------------------------------------

VS2013下OpenCV2.48配置的更多相关文章

  1. VS2013下.Net Framework4配置FineUI4.14

    配置步骤: 工具箱:空白处右键--选项卡--浏览,选择FineUI.dll配置web.config,管道模式设置为:传统 配置web.config 在form表单下添加: <f:PageMana ...

  2. vs2013下配置opencv1.0.0

    vs2013下配置opencv1.0.0 2019-4-25 17:13:13 原因 现在最新opencv已经到4.0.1版了.用opencv1.0原因: 小.源码包只有10M左右. 清晰.他的文档结 ...

  3. 【转】Win7下VS2010中配置Opencv2.4.4的方法(32位和64位都有效)(亲测成功)

    在vs2010下配置opencv是件痛苦的事情,一点点错误可能就会导致莫名其妙的报错,各种error让人郁闷不已,这里提供给大家一篇vs2010下配置opencv2.4.4的方法,我是64位的win7 ...

  4. VS2013下的64位与32位程序配置

    VS2013下的64位与32位程序配置   在Windows 7 64bit和Visual Studio 2013下生成64位程序. 新建一个Visual Studio Win32 Console项目 ...

  5. win7(X64)+VS2013+OpenCV3.1环境配置

    &1 源文件 VS2013: 链接:http://pan.baidu.com/s/1o8EKQq2 密码:open OpenCV3.1:  链接:http://pan.baidu.com/s/ ...

  6. Windows下python的配置

    Windows下python的配置 希望这是最后一次写关于python的配置博客了,已经被python的安装烦的不行了.一开始我希望安装python.手动配置pip并使用pip安装numpy,然而发现 ...

  7. ubuntu下opencv2.4.9安装测试

    ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1.  build-essential 软件包 sudo apt-get install bui ...

  8. live555—VS2010/VS2013 下live555编译、使用及测试(转载)

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 的支持.Live555实现了对多种音视频 ...

  9. Windows下caffe的配置和调用caffe库(一)

    一.Windows下caffe的配置: 1. 下载caffe官网提供的开发包,https://github.com/microsoft/caffe 2. 将caffe-master目录下的Window ...

随机推荐

  1. 二、webdriver API

    目录 1. webdriver中常用属性 2. 浏览器页面操作 3. 鼠标操作 4. 键盘操作 5. 下拉框操作 1. webdriver中常用属性 import time from selenium ...

  2. 【生活】记第一次参加CCF CSP认证

    2018年03月18日 CCF CSP认证 三月份的这次csp认证,我之前是没报名的,一来自己还没什么准备,二来去年的那次认证我也没参加,开考前的一个礼拜,从朋友那得知,这次学校团体报名的名额还没报满 ...

  3. 洛谷P1385 密令 题解 动态规划

    题目链接:https://www.luogu.com.cn/problem/P1385 题目大意: 给定一小写字母串s,每次操作你可以选择一个p(1<=p<|s|)执行下述修改中的任意一个 ...

  4. 13.利用pymysql创建变量类型的表名解说

    在练习爬虫爬取数据时,想将爬取的数据用pymysql存储到数据库中,并且存储时的表名是一个变量,但在写完代码运行后经常出面1064的错误代码,在网上查找相关解决方法,但一直找不到完美的解决方法, 通过 ...

  5. KindEditor.ready 不执行的解决方法

    问题描述 按照官网的要求,一一都设置好了,但就是没法显示富文本编辑器. 1.设置好textarea输入框 <textarea id="myEditor" name=" ...

  6. Java字符串(String类)

    定义方法: 1.String demo = "test"; 2.String demo = new String(); 3.String demo = new String(&qu ...

  7. ThreadLocal = 本地线程?

    一.定义 ThreadLocal是JDK包提供的,从名字来看,ThreadLocal意思就是本地线程的意思. 1.1 是什么? 要想知道他是个啥,我们看看ThreadLocal的源码(基于JDK 1. ...

  8. js 极简获取表单 元素 !

    let s =[]; $.each($('#formSearch input'),(m,n)=>{s.push(n)}); //示例获取表单所有 input 下滑线分割的 name 集合.set ...

  9. Jenkins Pipeline Job构建配置

    ​ ​ ​ ​​ 1.创建pipeline job任务,新建任务>输入任务名称>选择“流水线”>点击[确定] ​ 添加描述,This is my first test pipelin ...

  10. 公文流转系统v0.1

    河北金力集团公文流转系统 1.项目需求: 河北金力集团是我省机械加工的龙头企业,主要从事矿山机械制造及各种机械零部件加工.企业有3个厂区,主厂区位于省高新技术开发区,3个分厂分别在保定.邢台和唐山.为 ...