VS2017配置opencv教程(超详细!!!)[通俗易懂]

VS2017配置opencv教程(超详细!!!)[通俗易懂]前言:刚开始是不打算写这篇博客的,但是我最近为了完成对老师布置的区域生长算法,强行要配置一波opencv,因为换了电脑,所以选择了有黑黑主题酷酷的VS2017,但无奈网上的博客关于vs2017配置Opencv不够全(vs2010配置opencv的倒是贼多!),我当时是看了将近10篇文章才配置成功,所以在此我来从一个新入坑的角度来说一下怎么完整的配置一个OPencv!下面就分步来进行说明吧!…

大家好,又见面了,我是你们的朋友全栈君。

 

前言:刚开始是不打算写这篇博客的,但是我最近为了完成对老师布置的区域生长算法,强行要配置一波opencv,因为换了电脑,所以选择了有黑黑主题酷酷的VS2017,但无奈网上的博客关于vs2017配置Opencv不够全(vs2010配置opencv的倒是贼多!),我当时是看了将近10篇文章才配置成功,所以在此我来从一个新入坑的角度来说一下怎么完整的配置一个OPencv!下面就分步来进行说明吧!

注意:不是博主这个版本的opencv本教程也是实用的,只需要改一点点东西就行,后面会进行提示!

 

第一步:下载opencv安装包

下载的途径有三种:

1、官网下载

在此,说明一下,没有必要去根据博主 的博客下载与博客相应的版本,其实只需要改一点点东西即可,后面进行说明,官网下载真的是贼头大,首先下载好好的突然说下载中断,而且无法恢复,此外,还慢,毕竟外网,没有办法。一个安装包大概100多M,而下载速度只有50多K(校园网20K,对面宿舍宽带50K),所以最后我实在无法忍受,已经失败了N次,时间紧,就没必要在这一棵树上撞死。

但是网好的朋友也可以试试,在此我给出官网的网址,大家可以根据自己情况选择合适的版本(我的是3.4.1版本)

网址:https://opencv.org/releases.html#

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

 

2、网上资源

靠谱的是CSDN等博主提供的安装包,但是是要C币的,我一般不会充值的,所以如果条件允许的话可以选择这个

https://download.csdn.net/download/yu2439/10369150?utm_source=bbsseo(其中的一个网址)

还有一个建议就是不要去尝试在一些钓鱼网站去下载opencv,我上回为了下载一个matlab破解版,虽然一路小心翼翼,最终下载了将近7、8个捆绑软件,连卸载时也给我加两个。。。。

 

3、身边同学或者一起搞编辑的朋友们啊

我的opencv就来自我对面宿舍的同学,他在官网下载成功了,直接用U盘拷过来用,还不是美滋滋,在此我给个百度网盘链接:opencv3.41

 

二、解压下载文件

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

双击下载好的或者拷好的安装包,选择解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹(图2)

VS2017配置opencv教程(超详细!!!)[通俗易懂]

图3中的文件夹如果配置环境比较多的筒子们还是非常眼熟的。

 

第三步:配置系统变量(WIN10)

1、找到此电脑(图4)

2、右键->属性->高级系统设置->环境变量

找到系统变量中的path变量,双击它,点击新建,将你解压的opencv文件夹中的***opencv\build\x64\vc14\bin路径添加到当中。这里我是选择了vc14这个子文件夹,也可以选择15,但后面要做出相应调整,所以不妨就vc14咯!

注意:路径粘贴后记得点确定,并在外面点能点的确定全点选一遍!

 

详细操作可看下图!

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

 

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

以上完成了系统变量的配置,其实不是特别复杂,说简单点就是拷贝个路径

 

 

第四步:相关文件的配置

 

注意:网上很多教程没有这一步,会报那种找不到dll文件的错误,是因为没有将opencv里面的相关文件复制到C盘中的文件夹里面

操作方法:将bin目录下面的opencv_world341.dll和opencv_world341d.dll文件复制到C:\Windows\SysWOW64这个文件夹里面即可

将bin目录里面的opencv_ffmpeg341_64.dll复制到C:\Windows\System32这个文件夹里面(详细看图)

如果是opencv其他的版本,把对应的dll文件移动到上述两个C盘文件夹即可!

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

 

 

第五步:进入VS2017配置属性管理器进行相关配置

 

1、新建一个项目,我这里建了一个空项目

2、进入属性管理器,菜单栏->视图->其他窗口->属性管理器

3、对Debug|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

4、这里我们对属性中的 VC++目录->包含目录和VC++目录->库目录进行添加相关路径,对 链接器->输入->附加依赖项进行添加相关路径

5、包含目录中加入

F:\OPENCV\opencv\build\include

F:\OPENCV\opencv\build\include\opencv

F:\OPENCV\opencv\build\include\opencv2

库目录中加入

F:\OPENCV\opencv\build\x64\vc14\lib

6、链接器->输入->附加依赖项中加入

opencv_world341d.lib

注意:博主后面了解到release|X64的配置为可选项,后面也有热心读者提醒,所以下面的这一步可以不做,因为编译时只用到了debug,release是发布程序时才会用到。

//7、对Release|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

//链接器->输入->附加依赖项中加入

//opencv_world341.lib

注意:如果是opencv其他版本,只需要将将上述的依赖项文件稍作修改即可;eg:如果是opencv版本3.4.0,只需要将dll名字改为opencv_world340d.lib即可,依次类推!

VS2017配置opencv教程(超详细!!!)[通俗易懂]

VS2017配置opencv教程(超详细!!!)[通俗易懂]

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

第六步:勾选微软符号服务器(此步为可选项)

其实到上一步已经配好了,但是到了关键时候VS2017总是说我少各种dll文件,百度上面说不用理这种错误,可以选择勾选微软符号服务器来下载缺失的dll文件

操作步骤:左键调试->选项->常规 勾选启动源服务器支持

符号那一项勾上微软符号服务器

注意:可以用一个文件夹来缓存下载的dll文件,只是第一次加载,不用担心。或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。 我建了一个文件夹(文件夹是我自己建的),后面发现它下载了很多pdb文件!

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

注意:到上面所有工作,opencv已经配完了,注意解决方案平台那一栏要换成X64(因为我们一直都在配X64)

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

第七步:测试环节!

注意:由于很多人遇到图片无法输出的情况,在此特地添加一条需要注意的事项,读入图片路径时有两种方法。

(1)绝对路径

eg:Mat img = imread(“F:\\suoxiaotu\\poyanghu缩小图.tif”);

注意这个地方的双斜杠很重要,直接弄过来的图片途径是只有一个斜杠的,两个斜杠的原因应该是第一个斜杠是转义字符。

(2)图片路径

eg:Mat img = imread(“poyanghu缩小图.tif”);

这个地方有两点需要注意:第一个就是大家的图片格式一定要分清楚,建议自己右键查看目标图片的属性,另一个就是要注意这样做的前提条件就是你的图片就在你所建工程的目录下。不然会显示找不到图片。

#include <iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  

using namespace cv;

int main()
{
	// 读入一张图片(poyanghu缩小图)    
	Mat img = imread("F:\\suoxiaotu\\poyanghu缩小图.tif");
	// 创建一个名为 "图片"窗口    
	namedWindow("图片");
	// 在窗口中显示图片   
	imshow("图片", img);
	// 等待6000 ms后窗口自动关闭    
	waitKey(6000);
	return 0;
}

 

输出:

VS2017配置opencv教程(超详细!!!)[通俗易懂]

 

以上,配置完成!

[-_-]眼睛累了吧,注意劳逸结合呀[-_-]

VS2017配置opencv教程(超详细!!!)[通俗易懂]
”若您愿意的话,请博主喝杯咖啡呗“

 

下面是交流群,大家可以互相交流交流经验,互相解决配置遇到的问题,互相学习,不只是opencv!群号:830792425

VS2017配置opencv教程(超详细!!!)[通俗易懂]

(2019年2月6号更新)可以说,博主这一篇文章就解决了我绝大多数问题!唯一补充的一点是,我用博主的方法,在运行代码的时候,发现waitKey(6000);这个函数结束后,其申请的内存没有正常释放,所以会引发异常。所以需要在这句的后面加上destroyAllWindows();实现内存的手动回收 @jerryNYX

 

(2019年3月4号更新)加载符号遇到问题的朋友:“第六步勾选微软服务器”可以省略,把勾取消掉就能运行了,不然会卡住。希望对大家有帮助。@æ°å:

(2019年4月22号更新)  谢谢博主,除了release部分我没有配置以外,其他部分按照博主的方法配置成功了。谢谢。@blackkkkk

(2019年5月8日更新)小白成功了!非常感谢楼主!我遇到的问题“无法打开PDB文件”或者是“图像显示出来是灰色”的可能解决方法是:Debug|X64只放opencv_world341d,Release|X64只放opencv_world341 @https://me.csdn.net/weixin_40288785

(2019年5月9日更新)主要针对CSDN编辑器的bug(给我的博客增加了好多空格,强迫症受不了),另外为方便阅读,将所有图片全部居中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131008.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • zigbee协议栈OSAL分析

    zigbee协议栈OSAL分析本文从源程序出发,分享本人学习zigbee协议栈的一些理解,介绍zigbee协议栈OSAL任务调度及用户自定义任务的调度处理过程。为了便于抓住本质,理清思路,本文剔除一些无关部分。程序的入口是ZMain.c文件下的main(),是系统的主流程,核心为osal_init_system()(初始化操作系统)和osal_start_system()(启动操作系统)。在osal_init_system()中主要需要关注的是osalInitTasks()(初始化系统任务),该函数为tasksEvents[..

    2022年5月18日
    44
  • 关于RPC协议的通俗理解

    关于RPC协议的通俗理解根据网上搜索的一些资料摘抄汇总的,如果有误,欢迎斧正。作者:肖继潮链接:http://www.zhihu.com/question/25536695/answer/31046384来源:知乎著作权归作者所有,转载请联系作者获得授权。早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来。假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进程都写一个画图的功能。这…

    2022年5月20日
    89
  • pycharm virtualenv和conda_pycharm添加环境变量

    pycharm virtualenv和conda_pycharm添加环境变量from: http://www.cnblogs.com/IDRI/p/6354237.htmlLinux:启动虚拟环境:sourceenv/bin/activate Windows:pipinstallvirtualenv创建虚拟环境目录env激活虚拟环境:C:\Python27\Scripts

    2022年8月26日
    5
  • 对红黑树的认识总结

    一、对红黑树的基本理解(一)对红黑树的基本定义理解(二)对红黑树是“近似平衡”的理解1.将红色节点从红黑树中去掉,分析包含黑色节点的红黑树的高度2.把红色节点加回去,分析高度变化(三)红黑树与AVL树的比较:二、实现红黑树的基本思想分析(一)理解左旋(rotateleft)、右旋(rotateright)操作(二)插入操作的平衡调整情况一:如果关注节点是a,它的叔叔节点d是红色情况二:如果关注节点是a,它的叔叔节点d是黑色,关注节点

    2022年4月11日
    45
  • Docker镜像自动执行脚本.sh

    Docker镜像自动执行脚本.sh由于博客现在在docker中部署的,每次打包部署,需要停掉旧容器->删除旧容器->删除镜像->将新的jar包打包成镜像->再次运行,每次发布都需要重复的执行此操作,于是想将所有命令写成脚本,jar包上传之后,运行脚本即可。命令:app_name=’java-blog’app_port=’8081’# 停止正在运行的容器echo ‘……stop container……’docker stop ${app_name}# 删除容器echo ‘…..

    2022年6月13日
    196
  • linux中进程tty_linux下部署tomcat

    linux中进程tty_linux下部署tomcatttylinux下成功的安装了jdk和tomcat(日志显示tomcat已启动),http://localhost:8080/的结是timeout,有人知道为什么吗

    2022年8月12日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号