Opencv2.4.13 与Visual Studio2013 环境搭建配置
opencv这个工具来进行图像处理。大致是使用C++语言编写程序实现识别算法的实现,所以首先就要进行opencv与VS环境的配置。
Shaine属于那种半路出家之人都算不上的那种,本科期间三四年来学习的真是半吊子,开发方向的东西完全就是一窍不通。而作为一个giser,不可避免的会涉及到开发,也免不了图形图像处理的东西,所以,Shaine打算借着毕设这个机会,自己独自着手一个小项目,从需求、现有研究状况、可引用的经典算法等开始,重学GIS开发,初步学习opencv相关内容。
之前花了四五天的时间来下载、安装软件,也按照网上的配置教程进行了环境的配置,在测试时各种抛异常,各种引用不正确,就是没有成功。Shaine当时也是百思不得其解。因为本科时只学了C和C#两门编程语言,且自身学的很浅,C++也不懂,这也算是一大障碍吧。无奈,重装系统后重新开始配置,所以呢,Shaine汲取到的教训就是:
1. 在按照网上教程安装软件、配置环境时,一定要先把整个流程看完,有个大致的了解,明白其的原理,切忌按部就班粘贴复制某些操作步骤中的内容,因为每个人的计算机文件夹、命名都是不同的,只有了解其原理时,在32/64位选择、版本等时才能对症下药,否则只会走上不断重配重装甚至重装系统的道路。
2. 每款软件在计算机上尽量只安装一种稳定性、兼容性较高的版本,不要安装两个或者三个版本来撑内存。Shaine以血的教训告诉大家,当时Shaine就是安装VS2010/2013/2015三个不同的版本,你说Shaine是不是吃饱了撑着了?
3. 安装任何软件时不要出现汉字命名的文件夹,不管你是安装中文软件还是英文软件,因为对于英文软件在安装时一旦出现中文名的文件夹,在路径识别时很可能会出错,所以保险起见,还是乖乖英文命名吧。
4. 在涉及到两款或者多款软件在进行环境搭建时,最好先在网上查找一下两款软件相互匹配的版本分别是多少后再下载安装。比如opencv配置VS,opencv3.2就需要vs2015来配置,因为只有vs2015里面的vc14才能与opencv里面vc相匹配,我们才能直接调用软件包里面编译好的类库,否则还得自己进行手动编译。
好了,Shaine就不在扒拉废话了,先来谈谈Opencv和vs的配置步骤。
一、安装包的下载与安装
Opencv可免费到官网上去下载,opencv是国外软件,在下载是由于受资源的限制,可能会出现下载缓慢甚至下载失败的情况,没事,直接重新下载就是呢。
附上官网链接:http://opencv.org/downloads.html
关于安装,倒不如说是解压。如图,直接解压到目标文件夹下就行啦。

VS2013想必每个开发人员都接触过,也安装过N多次啦,Shaine在此就不再赘述啦。
二、环境变量的配置
计算机→右键属性→高级系统设置→高级→环境变量,在用户变量中,点击新建,变量名为opencv,变量值为:D:\Software\opencv\build(即你opencv安装的build文件路径);系统变量path,点击编辑,添加D:\Software\opencv\build\x86\vc12\bin。
说明:说明:不管你系统是32位还是64位,路径目录均选择X86,因为编译都是使用32位编译。



三、新建Visual C++项目
打开VS,新建项目,选择模板下的vc++,新建win32控制台应用程序。跳出应用程序向导,点击下一步,勾选上附加选项中的空项目,点击完成。(勾选空选项目的在于为下面的各项设置建立一个模板,之后不用每次建项目都进行配置了)



在解决方案的源文件中新建c++文件(.cpp文件)。
在属性管理器中进行如下操作:

在Debug|Win32的Microsoft.Cpp.Win32.user处双击进入属性页,进行如下设置:
1、 通用属性→VC++目录:
包含目录中添加:
D:\Software\opencv\build\include\opencv2
D:\Software\opencv\build\include\opencv
D:\Software\opencv\build
库目录中添加:D:\Software\opencv\build\x86\vc12\lib
2、 通用属性→链接器→输入→附加依赖项,在依赖项中输入lib库中的各项.lib文件名称:
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
在Releae|Win32的Microsoft.Cpp.Win32.user处双击进入属性页,进行和Debug中一致的操作,其实以上都是D:\Software\opencv\build\x86\vc12\lib下所有的lib文件,你会发现,有的后面带上d,有的没有d,这是因为Debug的就有d,Release则没有d。
四、最终的测试
Shaine以显示一张图片来测试整个配置过程的准确性。
新建一个.Cpp文件,输入以下代码:

注意代码证图片路径的输入格式,本来Shaine中图片的目录是这样的:D:\LiHong\Blind Way Recognition\MyProject\test1_0228 ;但是你注意没有,整个路径的输入中,所有“\”都变为了“\\”,就连加入文件名时也要加上“\\”。

运行结果如下:

至此,整个配置过程已成功完成。
五、其他说明
在测试时,你可能会和Shaine一样遇到如下问题:
1.VC++中“在查找预编译头使用时跳过”
出现这种状况的原因是没有在cpp文件最前一行添加#include “stdafx.h”,解法有:
法一:去掉预编译头
项目→属性→配置属性→C/C++→预编译头→创建使用预编译头→不使用预编译头
法二:将包含文件加到预编译头stdafx.h文件中
法三:在每个.cpp中包含预编译头stdafx.h文件
注意:#include “stdafx.h”一定要添加到cpp文件的第一行。
2.调试解决方案后会出现一堆类似于window\SysWOW64\gdi32.dll无法查找或打开PDB文件的问题,这是由于.dll库没有正确的链接进去以至于调试时无法调用相关类
调试→选项和设置→调试→常规→勾选上“启用资源服务器”
调试→选项和设置→调试→常规→勾选上“微软符号服务器”
其实到了最后,Shaine哪怕把整个测试项目已经运行起来了,但还是存在少数dll无法调用的情况。Shaine也是很头疼和郁闷,还要不断的找原因哦。

备注:Shaine在试验多次之后,老是报下图中的错,后来请教了一位学长,原因是配置次数过多,然后可能引起了附加依赖项的错误,采取了把附加依赖项中的内容删掉之后重新添加一遍,并不勾线左下角的选项,保存设置及VS,关闭项目,重新打开即可解决问题。

Opencv2.4.13 与Visual Studio2013 环境搭建配置的更多相关文章
- Opencv2.4.13与Visual Studio2013环境搭建配置教程
转载:http://www.jb51.net/article/108943.htm 一.安装包的下载与安装 Opencv可免费到官网上去下载,opencv是国外软件,在下载是由于受资源的限制,可能会出 ...
- 最新OpenCV2.4.6与VS2010开发环境搭建
OpenCV2.4.6与VS2010开发环境搭建 由于很久没有用OpenCV了,之前用的是1.0版本和VC++6.0.现在已经到了VS2010+OpenCV2.4.6.安装使用之后,发现OpenCV的 ...
- rocketmq 集群环境搭建配置
rocketmq环境搭建配置: 一. 搭建三主集群,环境:centos-64 7.4 + RocketMQ-4.3.2 Master01: 192.168.102.68 Master02: 192 ...
- 《k8s-1.13版本源码分析》-测试环境搭建(k8s-1.13版本单节点环境搭建)
本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/prepare/debug-environment. ...
- 常用开发环境搭建配置教程(OneStall)
最近想要做一个小东西,用到了下面几个中间件或者环境: Java Tomcat Maven MongoDB ZooKeeper Node 并且恰好碰到腾讯云打折,云主机原价100多一个月,花了30块钱买 ...
- java开发环境搭建,配置
java开发环境搭建 下载jdk8的地址 是oracle的 安装JDK 下载电脑对应的版本 双击安装JDK 记住安装路径 配置环境变量 我的电脑/此电脑 右键属性 高级设置 环境变量 点击新建 变量名 ...
- 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)
安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- win7(32/64)+apache2.4+php5.5+mysql5.6 环境搭建配置
引用自:http://blog.csdn.net/z_cf1985/article/details/22454749 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本) ...
随机推荐
- 不常见但很有用的chrome调试工具使用方法
前面的话 对于chrome调试工具,常用的是elements标签.console标签.sources标签和network标签.但实际上,还有一些不太常见但相当实用的方法可以提高网页调试效率.本文将 ...
- vue1.0学习总结
前言 使用vue已经有三.四个月了,但是只是学着使用了一些基本方法.因为现在的前端框架越来越多(Angular,React...),但是我相信万变不离其宗,很多用法框架之间还是想通的,所以借总结的vu ...
- 前端开发在IOS端遇到的一个诡异问题(Delegate 失效)
一.前言 最近同事问到一个问题,一个前端页面在IOS端真机测试下出现一个比较诡异的问题,如果没有遇到过估计也是一筹莫展.今天特此记录一下,或许能帮到后面遇到这个问题的朋友少绕一些弯路.这是关于JQue ...
- intelliJ IDEA创建web工程
1.创建project,也就是eclipse里的workspace,eclipse里1个工作空间里可以创建多个工程,idea的一个工作空间里只创建1个工程. File -- New -- Projec ...
- 毕向东udp学习笔记2
项目功能: 发送端读取控制台输入,然后udp发送 接收端一直接收,直到输入为886 相对于笔记1,修改了发送端代码,实现发送控制台的内容,接收端循环接收,当输入886时,停止发送 发送端: impo ...
- matlab 嵌套循环的学习
循环嵌套带嵌套的循环一般为两重,举例1: disp('一个简单的二重for循环'); : : result = ii *jj ; fprintf(' %d * %d = %d \n',ii,jj,re ...
- (一) 从Angular1到Angular2的杂谈
使用了angular1一年下来,完成了若干项目,承蒙此框架的强大带来了不算差的项目编写体验,但1.*版本的angular,确实是有厉害的地方也有其尴尬的地方,包括较多数据的渲染的性能问题,还有就是可能 ...
- Extjs 数据代理
Ext.data.proxy.Proxy 代理类的根类 客户端代理: 1.LocalStorageProxy:将数据存储在localStorage中,此种方式可以持久的将数据存储在客户端 要使用代理, ...
- jQuery_第一章_JavaScript基础
JavaScript基础 JavaScript不难,但是对于初学者来讲比较的怪异. 是一种客户端语言,在浏览器执行的.是一种脚本语言,直接就能解释执行的叫脚本代码.像dos命令还有SQL也是. 为什么 ...
- CQOI2015 解题报告
CQOI2015终于全做完了~~~,讲一下题吧 首先这套题比起其他省选还是比较水的,就是5道题比较蛋疼 T1:[CQOI2015]选数 这道题还是比较神的. 首先给个比较神的题解:popoqqq大神的 ...