vs2015配置opencv_捷达VS5进取版有哪些配置

vs2015配置opencv_捷达VS5进取版有哪些配置目录安装环境说明下载OpenCV配置OpenCV开发环境属性表测试可能存在的问题安装环境说明操作系统:Windows10OpenCV版本:OpenCV2和OpenCV3VS版本:VS2015或者VS2017下载OpenCVOpenCV下载地址:http://opencv.org/或者直接搜OpenCV下…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

                                                          vs2015配置opencv_捷达VS5进取版有哪些配置

目录

安装环境说明 

下载OpenCV

配置OpenCV开发环境 

属性表 

测试

可能存在的问题


安装环境说明 


操作系统:Windows10

OpenCV版本:OpenCV2和OpenCV3

VS版本:VS2015或者VS2017

 

下载OpenCV


OpenCV下载地址:http://opencv.org/或者直接搜OpenCV下载,找到对应的版本下载,应该是个压缩包,解压,可以看到两个文件夹:

vs2015配置opencv_捷达VS5进取版有哪些配置

 

配置OpenCV开发环境


1、添加环境变量:

电脑左上角找到“我的电脑”,点击鼠标右键,依次选择“属性”、“高级系统设置”、“环境变量”、“Path”。

vs2015配置opencv_捷达VS5进取版有哪些配置
vs2015配置opencv_捷达VS5进取版有哪些配置

 

vs2015配置opencv_捷达VS5进取版有哪些配置vs2015配置opencv_捷达VS5进取版有哪些配置

双击“Path”进入到“编辑环境变量”页面,通过新建或者浏览的方式将opencv的“bin文件夹路径”添加到环境变量中,看看自己的电脑是64位还是32位,如果不知道vc14还是vc15可以看下面的VS版本和OpenCV中vc的对应关系表

vs2015配置opencv_捷达VS5进取版有哪些配置

注意:添加完环境变量之后最好重启一下电脑,使环境变量生效,不重启的话有可能会出现环境变量未生效这种情况。如果环境变量未生效,那么就找不到OpenCV的dll文件,会报计算机丢失xxx.dll。

VS版本和OpenCV中vc的对应关系
VS2003 VC7
VS2005 VC8
VS2008 VC9
VS2010 VC10
VS2012 VC11
VS2013 VC12
VS2015 VC14
VS2017 VC15

 

 

2、添加OpenCV包含目录和库目录:

打开Visual Studio,新建一个C++项目,在Visual Studio左上角菜单栏,依次选择“视图”、“其他窗口”、“属性管理器”。找到自己对应的Debug和Release模式,比如说我目前想使用x64的Debug,我就选择第二项下的“Microsoft.Cpp.x64.user”。

vs2015配置opencv_捷达VS5进取版有哪些配置

右键选择“属性”,进入“Microsoft.Cpp.x64.user的属性页”,依次选择“通用属性”、“VC++目录”,开始添加“包含目录”、“库目录”。 

vs2015配置opencv_捷达VS5进取版有哪些配置

选择“包含目录”,进入“包含目录”页面,添加OpenCV包含目录路径:

D:\OpenCV342\opencv\build\include
D:\OpenCV342\opencv\build\include\opencv
D:\OpenCV342\opencv\build\include\opencv2

 

vs2015配置opencv_捷达VS5进取版有哪些配置

选择“库目录”,进入“库目录”页面,添加库目录(lib文件夹)路径:

D:\OpenCV342\opencv\build\x64\vc14\lib

vs2015配置opencv_捷达VS5进取版有哪些配置

3、添加附加依赖项

添加附加依赖项就是添加所有的lib文件路径,这些lib文件都是在前面那个库目录里面保存的。由于OpenCV2和OpenCV3之间的不同,相应的附加依赖项也就不同。

依次选择“链接器”、“输入”、“附加依赖项”,进入“附加依赖项”页面,开始添加lib文件路径

注意有两种lib文件,一种带d的是Debug模式,不带d的是Release模式,OpenCV版本不同,前面的序号也不同,需要做相应的修改,两种模式的lib最好不要放一起,否则有可能会导致其中一个模式出问题,Debug模式下使用namewindow函数创建窗口,运行代码会出现两幅图片。

OpenCV3:

opencv_world342.lib
opencv_world342d.lib

OpenCV2413的Debug版:

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

 OpenCV2413的Release版:

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

vs2015配置opencv_捷达VS5进取版有哪些配置

vs2015配置opencv_捷达VS5进取版有哪些配置

到此,OpenCV就算是配置完了。

 

属性表 


为了方便使用,我们还可以通过添加属性表的方式,配置OpenCV的属性,属性表就是props文件。每次新建项目之后,只需要将属性表放到项目路径下,并添加到项目中就可以使用了,而不需要重复去配置OpenCV的属性。避免了重复去配置OpenCV的属性和切换编译模式得到麻烦,自行选择。

找到自己对应的Debug和Release模式,比如说我目前想使用x64的Debug,我就选择第二项,单击右键选择“添加新项目属性表”。

vs2015配置opencv_捷达VS5进取版有哪些配置

进入“添加新项”页面 ,修改属性表名称,我这里使用的是“vs2015_opencv342_x64_debug”,表明了当前使用的vs版本OpenCV版本系统位数、以及编译模式,修改完之后,点击“添加”按钮,vs2015_opencv342_x64_debug属性表就添加到属性管理器中了,。

vs2015配置opencv_捷达VS5进取版有哪些配置

属性表文件是保存在项目文件夹中的,下次要用的时候,直接复制、粘贴到新建的项目文件夹中去,并添加到项目属性管理器中就可以了,很方便。 

vs2015配置opencv_捷达VS5进取版有哪些配置

此时,双击“vs2015_opencv342_x64_debug” ,进入到“vs2015_opencv342_x64_debug属性页”,然后就跟前面配置过OpenCV属性的操作一模一样了,自己去看前面的教程,就不重复了。

vs2015配置opencv_捷达VS5进取版有哪些配置

配置完OpenCV属性之后,就可以开始使用OpenCV了。最好是把属性表保存在一个固定的路径中,方便复制、粘贴,使用在下一个项目中。添加属性表也很简单,先把属性表复制、粘贴到当前项目的项目文件夹中,然后打开“属性管理器”,找到对应的“模式”和“位数”,这里是“Debug|x64”,然后点击鼠标右键选择“添加现有属性表”,把复制、粘贴好的属性表文件添加进来就可以了。

vs2015配置opencv_捷达VS5进取版有哪些配置

vs2015配置opencv_捷达VS5进取版有哪些配置

 

测试


下面的代码是OpenCV最基础的,只用来显示图片,如果能显示,则安装成功,祝贺你从此开始成为OpenCV的一员。

注意:图片应和.cpp文件放在一块,或者使用路径名,路径要使用双斜杠//。

 

【测试代码】

#include<opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat girl = imread("girl.jpg"); //载入图像到Mat
    imshow("【1】动漫图", girl);//显示名为 "【1】动漫图"的窗口  
    waitKey(0);
    return 0;
}

【显示结果】

vs2015配置opencv_捷达VS5进取版有哪些配置

 

可能存在的问题


问题1:计算机中丢失msvcp120.dll

出现这个问题,重新下载一下msvcp120.dll,然后添加到对应bin文件夹中,也就是上面添加的环境变量,这两个dll已上传到百度云,请自行下载。

百度网盘链接:https://pan.baidu.com/s/1CLnom87fShhl7wF4yAKggw 
提取码:28a7 

 

问题2:计算机中丢失opencv_highgui2413d.dll

出现这个问题,一般就是环境变量没有添加对(路径问题)或者添加完环境变量之后没有重启电脑使环境变量生效。

 

问题3:应用程序无法正常启动,如下图所示:

vs2015配置opencv_捷达VS5进取版有哪些配置

没有将bin文件路径添加到环境变量中,还需要重启。 

 

问题4:出现以下错误不支持接口,主要情况为:摄像头打不开或者等到“不支持接口”完了之后才能打开

vs2015配置opencv_捷达VS5进取版有哪些配置

这个问题,打开摄像头时,一直返回false,有时还提醒选择视频格式FFMPEG,可能是OpenCV被破坏了,可以使用另外一个版本的OpenCV来进行测试,我目前使用的opencv342,有可能坏了,我就用好的opencv2410来测试,发现摄像头可以打开,重新下一个opencv就好了,同时也可以使用DirectX来修复一下dll。

VideoCapture cap(0);

while (cap.isOpened())

vs2015配置opencv_捷达VS5进取版有哪些配置

 

问题5:“CAP_PROP_FRAME_COUNT”: 未声明的标识符 或者“CAP_PROP_FRAME_COUNT”: 不是“cv”的成员 

vs2015配置opencv_捷达VS5进取版有哪些配置

出现这种情况,可能是由于OpenCV版本导致的,OpenCV3可以这样写,但是OpenCV2就需要写成CV_CAP_PROP_FRAME_COUNT

 

问题6:弹出错误提示框“找不到mfc100”

去360下载微软常用运行库合集,一般360会自动弹出。

vs2015配置opencv_捷达VS5进取版有哪些配置

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

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

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


相关推荐

  • java拦截器的配置_Java 拦截器配置及使用「建议收藏」

    java拦截器的配置_Java 拦截器配置及使用「建议收藏」packagecom.panshi.ProjectInterceptor.Interceptor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;importorg.springframework.util.StringUtils;importor…

    2022年6月5日
    42
  • 喉头梗阻的常见原因有哪六项_晕针的原因症状处理及预防

    喉头梗阻的常见原因有哪六项_晕针的原因症状处理及预防点击上方”IT牧场”,选择”设为星标”技术干货每日送达!每一个JVM线程都拥有一个私有的JVM线程栈,用于存放当前线程的JVM栈帧(包括被调用函数的参数、局部…

    2025年7月24日
    3
  • DNS域名解析过程_谈谈域名解析DNS的工作原理

    DNS域名解析过程_谈谈域名解析DNS的工作原理一、主机解析域名的顺序1、找缓存2、找本机的hosts文件3、找DNS服务器注意:配置IP和主机名时,要记得修改/etc/hosts文件,因为有些应用程序在主机内的进程之间通信的时候,会本机

    2022年8月2日
    9
  • 优秀的程序员真的不写注释吗?

    优秀的程序员真的不写注释吗?我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。”动不动就骂别人是“禽兽”,我总觉得有点不妥,这很不符合孟子的浩然之气啊。有些大牛也有孟子这样的觉悟,如果有人要他给自己的代码加上注释,就好像是对他的一种侮辱:“我的代码写得这么优雅,你难道看不懂吗?注释是多余的!”我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我

    2022年5月30日
    34
  • 手表英文月份缩写对照表_日期缩写格式

    手表英文月份缩写对照表_日期缩写格式一月份=JAN.Jan.=January二月份=FEB.Feb.=February三月份=MAR.Mar.=March四月份=APR.Apr.=April五月份=MAYMay=May

    2022年8月5日
    3
  • 作文《读懂》(我读懂了什么写一篇作文)

    0背景1.手机USB接口通信特点-1.1使用方便-1.2通用性强-1.3速度快-1.4可采用总线供电2.手机USB接口通信原理-2.1常见手机USB接口-2.2通信过程-2.3体系架构2.4软件层次3.手机USB接口与外设通信方案-3.1USB(手机)USB(外设)-3.1.1USBHost简述

    2022年4月10日
    38

发表回复

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

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