当前位置:   article > 正文

超详细:VS配置OpenCV教程,需要收藏_vs 配置opencv

vs 配置opencv

目录 

安装环境说明

下载OpenCV

配置OpenCV开发环境

属性表

测试

可能存在的问题


 安装环境说明 

操作系统:Windows10

OpenCV版本OpenCV2和OpenCV3

VS版本:VS2015或者VS2017


 下载OpenCV

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


配置OpenCV开发环境

1、添加环境变量:

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

  

 

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

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

VS版本和OpenCV中vc的对应关系
VS2003VC7
VS2005VC8
VS2008VC9
VS2010VC10
VS2012VC11
VS2013VC12
VS2015VC14
VS2017VC15

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

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

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

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

  1. D:\OpenCV342\opencv\build\include
  2. D:\OpenCV342\opencv\build\include\opencv
  3. D:\OpenCV342\opencv\build\include\opencv2

 

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

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

3、添加附加依赖项

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

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

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

OpenCV3:

  1. opencv_world342.lib
  2. opencv_world342d.lib

OpenCV2413的Debug版:

  1. opencv_contrib2413d.lib
  2. opencv_core2413d.lib
  3. opencv_features2d2413d.lib
  4. opencv_flann2413d.lib
  5. opencv_gpu2413d.lib
  6. opencv_highgui2413d.lib
  7. opencv_imgproc2413d.lib
  8. opencv_legacy2413d.lib
  9. opencv_ml2413d.lib
  10. opencv_nonfree2413d.lib
  11. opencv_objdetect2413d.lib
  12. opencv_ocl2413d.lib
  13. opencv_photo2413d.lib
  14. opencv_stitching2413d.lib
  15. opencv_superres2413d.lib
  16. opencv_ts2413d.lib
  17. opencv_video2413d.lib
  18. opencv_videostab2413d.lib

 OpenCV2413的Release版:

  1. opencv_contrib2413.lib
  2. opencv_core2413.lib
  3. opencv_features2d2413.lib
  4. opencv_flann2413.lib
  5. opencv_gpu2413.lib
  6. opencv_highgui2413.lib
  7. opencv_imgproc2413.lib
  8. opencv_legacy2413.lib
  9. opencv_ml2413.lib
  10. opencv_nonfree2413.lib
  11. opencv_objdetect2413.lib
  12. opencv_ocl2413.lib
  13. opencv_photo2413.lib
  14. opencv_stitching2413.lib
  15. opencv_superres2413.lib
  16. opencv_ts2413.lib
  17. opencv_video2413.lib
  18. opencv_videostab2413.lib

 

 

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

属性表  

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

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

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

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

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

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

测试

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

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

【测试代码】

  1. #include<opencv2/opencv.hpp>
  2. using namespace cv;
  3. int main()
  4. {
  5. Mat girl = imread("girl.jpg"); //载入图像到Mat
  6. imshow("【1】动漫图", girl);//显示名为 "【1】动漫图"的窗口
  7. waitKey(0);
  8. return 0;
  9. }

【显示结果】


 可能存在的问题

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

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

百度网盘链接:百度网盘 请输入提取码 
提取码:28a7 

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

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

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

 

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

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

 

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

  1. VideoCapture cap(0);
  2. while (cap.isOpened())

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

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

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

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


在这里给大家准备了一份最全面人工智能资料包,从AI入门必备知识技能到CV\BI\NLP三大方向,整理了来自Ai领域各个大牛的教学视频,以及各方向学习路线与配套工具包教程,尽可能满足这些方向的学习需求,需要可加v自取:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/604374
推荐阅读
相关标签
  

闽ICP备14008679号