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位版本) ...
随机推荐
- [Bullet3]常见物体和初始化
官方文档:http://bulletphysics.org 开源代码:https://github.com/bulletphysics/bullet3/releases API文档:http://bu ...
- 在Window下安装Oracle
一.Oracle下载地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 二.解压 ...
- Oracle VS DB2 数据类型
=========================Oracle VS DB2==================================== 本文转自:http://www.bitscn.co ...
- [笔记]FTRL与Online Optimization
1. 背景介绍 最优化求解问题可能是我们在工作中遇到的最多的一类问题了:从已有的数据中提炼出最适合的模型参数,从而对未知的数据进行预测.当我们面对高维高数据量的场景时,常见的批量处理的方式已经显得力不 ...
- iOS开发tips-UITableView、UICollectionView行高/尺寸自适应
UITableView 我们都知道UITableView从iOS 8开始实现行高的自适应相对比较简单,首先必须设置estimatedRowHeight给出预估高度,设置rowHeight为UITabl ...
- 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
2017-01-06 Tomson JavaScript 转自 https://segmentfault.com/a/1190000003818163 闭包 1.正确的说,应该是指一个闭包域,每当声明 ...
- Redis 学习之持久化机制、发布订阅、虚拟内存
一.持久化机制 Redis是一个支持持久化的内存数据库,redis会经常将内存中的数据同步到硬盘上来保证数据持久化,从而避免服务器宕机数据丢失问题,或者减少服务器内存消耗提高性能. 持久化方式: 1. ...
- SpringBoot实践 - SpringBoot+mysql
关于springBoot是个神马东西以及优缺点,请自行搜索了解. LZ看到很多关于SpringBoot的Demo,单看一篇总是没法整合SpringBoot与Mysql.没法子,还是自己操刀来一发为妙. ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- C语言程序_管理系统
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 3 #define LEN ...