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. MATLAB实例:PCA(主成成分分析)详解

    MATLAB实例:PCA(主成成分分析)详解 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 主成成分分析 2. MATLAB解释 详细信息请看: ...

  2. 【转】常见Java面试题 – 第二部分:equals与==

    ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q2.下面的代码片段的输出是什么? Object s1 = new St ...

  3. netcore使用IOptions

    { "Logging": { "LogLevel": { "Default": "Information", " ...

  4. MongoDB DBA 实践8-----Linux系统Mongodb分片集群部署

    在Linux系统中,主要是使用命令行进行mongodb的分片集群部署 一.先决条件 mongodb安装成功,明确路径, MongoDB的几个路径: /var/lib/mongodb /var/log/ ...

  5. Oracle索引大全

    文档结构如下: 前言: Oracle 官方文档对索引的描述真是弱透了,对索引的说明就是一坨……,support也没有很好的资料,下面还是用的官方上的内容经过自己的整理加上网上的资料. 索引类型: 索引 ...

  6. python循环语句(while和for)

    循环语句分成两种,while循环 和 for循环 作用:可以使指定的代码块重复指定的次数 while循环: # 语法: # while 条件表达式 : # 代码块 # else : # 代码块 # 执 ...

  7. .Net Core Web Api实践(四)填坑连接Redis时Timeout performing EVAL

    前言:前两篇文章.net core+Redis+IIS+nginx实现Session共享中,介绍了使用Microsoft.Extensions.Caching.Redis实现Session共享的方法, ...

  8. uni-app,vue,react,Trao之缓存类封装

    uni-app,vue,react,Trao之缓存类封装 一,介绍与需求 1.1,介绍 缓存主要分为如下几个 1.LocalStorage LocalStorage是永久性的本地缓存,存储在客户端的浏 ...

  9. 递推 dp - 求有多少个序列符合题意

    题目描述     小美有一个由n个元素组成的序列{a1,a2,a3,...,an},她想知道其中有多少个子序列{ap1,ap2,...,apm}(1 ≤ m ≤ n, 1 ≤ p1 < p2 , ...

  10. 曹工说Spring Boot源码(12)-- Spring解析xml文件,到底从中得到了什么(context:component-scan完整解析)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...