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 环境搭建配置的更多相关文章

  1. Opencv2.4.13与Visual Studio2013环境搭建配置教程

    转载:http://www.jb51.net/article/108943.htm 一.安装包的下载与安装 Opencv可免费到官网上去下载,opencv是国外软件,在下载是由于受资源的限制,可能会出 ...

  2. 最新OpenCV2.4.6与VS2010开发环境搭建

    OpenCV2.4.6与VS2010开发环境搭建 由于很久没有用OpenCV了,之前用的是1.0版本和VC++6.0.现在已经到了VS2010+OpenCV2.4.6.安装使用之后,发现OpenCV的 ...

  3. rocketmq 集群环境搭建配置

    rocketmq环境搭建配置: 一.   搭建三主集群,环境:centos-64 7.4 + RocketMQ-4.3.2 Master01: 192.168.102.68 Master02: 192 ...

  4. 《k8s-1.13版本源码分析》-测试环境搭建(k8s-1.13版本单节点环境搭建)

    本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/prepare/debug-environment. ...

  5. 常用开发环境搭建配置教程(OneStall)

    最近想要做一个小东西,用到了下面几个中间件或者环境: Java Tomcat Maven MongoDB ZooKeeper Node 并且恰好碰到腾讯云打折,云主机原价100多一个月,花了30块钱买 ...

  6. java开发环境搭建,配置

    java开发环境搭建 下载jdk8的地址 是oracle的 安装JDK 下载电脑对应的版本 双击安装JDK 记住安装路径 配置环境变量 我的电脑/此电脑 右键属性 高级设置 环境变量 点击新建 变量名 ...

  7. 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)

    安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...

  8. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  9. win7(32/64)+apache2.4+php5.5+mysql5.6 环境搭建配置

        引用自:http://blog.csdn.net/z_cf1985/article/details/22454749 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本) ...

随机推荐

  1. spring-dwr注解整合

    注解配置 1.web.xml 只需将DwrServlet换为DwrSpringServlet(包名不同) 2.dwr类 3.applicationContext.xml 4.annotationCon ...

  2. bzoj1061--线性规划

    线性规划裸题... 根据题目很容易可以得到线性规划方程(以样例为例): Min(2*x1+5*x2+2*x3) x1+ 0+ 0>=2 x1+x2+ 0>=3 0+x2+x3>=4 ...

  3. 学习window系统下的注册表

    一直不明白注册表是一个什么鬼,查了资料后大概明白了注册表到底有什么用,其实简单来说注册表就是一个存放系统.硬件.应用配置信息的数据ku.##### 一.注册表的来历在最早的视窗操作系统win3.x中, ...

  4. JAVA_file(2)

    几种不太安全的: 1. new File(path),这个方法的路径到底在那里取决于调用java命令的起始位置定义在哪里, tomcat/bin下面的catalina.bat调用了java,所以在to ...

  5. cmake的四个命令:add_compile_options、add_definitions、target_compile_definitions、build_command

    cmake的四个命令:add_compile_options.add_definitions.target_compile_definitions.build_command add_compile_ ...

  6. 笔记之《用python写网络爬虫》

    1 .3 背景调研 robots. txt Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬虫排除标准"(Robots Exclusion Protocol),网站 ...

  7. 基于服务的SOA架构_后续篇

    今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意! 昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构流程和一些技术说明:今天将详细总结一下在项目中用到的各个架构技术的环 ...

  8. 从并发处理谈PHP进程间通信(一)外部介质

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  9. Linux编程之ICMP洪水攻击

    我的上一篇文章<Linux编程之PING的实现>里使用ICMP协议实现了PING的程序,ICMP除了实现这么一个PING程序,还有哪些不为人知或者好玩的用途?这里我将介绍ICMP另一个很有 ...

  10. IE兼容问题及处理

    1.在IE6下,子元素能撑开父级设置好的宽高 2.IE6下的最小高度,高度小于19px的元素在IE6下会被当做19px来处理 解决办法:overflow:hidden; 3.IE6下 不支持1px的点 ...