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调用第三方接口(http总结)

    Java调用第三方接口(http总结)业务需求:一般情况下都是后端提供接口,前端调用,解决需求,但是有的时候为了方便,复用别人的接口(网上的,公共的第三方接口(短信、天气等)),就出现了后端调用后端接口的情况。(类似JavaScript中的ajax一样获取数据,并对数据进行处理)对比一般情况:前端调用后端接口业务情况:后端调用后端接口几种方式总结:在Java项目中调用第三方接口的方式有:①通过JDK网络类Java….

    2022年5月22日
    40
  • bloom过滤器原理_gabor filter

    bloom过滤器原理_gabor filterBloomFilter概念和原理焦萌2007年1月27日 BloomFilter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。BloomFilter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(falsepositive)。因此,BloomFilter不适

    2022年10月23日
    0
  • 常见的目标检测算法介绍[通俗易懂]

    常见的目标检测算法介绍[通俗易懂]2018-12-0521:12:15一、滑动窗口目标检测首先通过卷积神经网络训练一个分类器,然后使用不同尺度的窗口去裁剪输入图片进行分类。我们期望的结果是通过不同的窗口可以将需要检测的物体完全覆

    2022年8月6日
    3
  • ubuntu sublime安装及配置

    ubuntu sublime安装及配置

    2021年11月29日
    40
  • 数组元素的下标超出所定义的_数组元素的下标超出所定义的

    数组元素的下标超出所定义的_数组元素的下标超出所定义的问题错误信息:数组成员引用下标超出定义范围原因使用数组成员的时候,下标超出了数组最大个数。解决方法仅用于自己编写程序,所以如果是别人做好的程序,运行出现错误,你又没代码的话那就没用了。解决思路就是正确使用数组下标,不要超过数组最大成员数。下面是两种笨方法:方法一在使用数组成员的时候,检查数组的最大成员数。例如:如果真(取数组成员数(数组名)>0)确定数组有成员,之后再引用。方法二菜单的工具-系统配置-编译,勾选“是否启用快速数组访问方式”。(调试时仍然会

    2022年10月19日
    0
  • python构建IP代理池(Proxy Pool)[通俗易懂]

    python构建IP代理池(Proxy Pool)[通俗易懂]基本原理代理实际上指的就是代理服务器,它的功能是代理网络用户去取得网络信息。也可以说它是网络信息的中转站。在我们正常请求一个网站时,是将请求发送给Web服务器,Web服务器把响应传回给我们。如果设置了代理服务器,实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向Web服务器发起请求,而是向代理服务器发出请求,请求会发送给代理服务器,然后由代理服务器再发…

    2022年5月18日
    30

发表回复

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

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