C++__vs2017配置opencv_遇到的坑

第一步:下载opencv安装包

官网下载地址:https://opencv.org/releases.html#

二、解压下载文件

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

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

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

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

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

第四步:相关文件的配置

注意:网上很多教程没有这一步,会报那种找不到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配置属性管理器进行相关配置

1、新建一个vs2017项目,项目名字为opencv_FirstPro

2、点击左下角的解决方案--->opencv_FirstPro--->右击点击属性--->vc++目录--->包含目录

     将:D:\OpenCV\opencv\build\include  和  D:\OpenCV\opencv\build\include\opencv2添加进去

     将:D:\OpenCV\opencv\build\x64\vc14\lib路径添加到库目录中去

3、以上两步的最终效果:

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

opencv_world400d.lib

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

 

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

第六步:测试环节!

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

(1)绝对路径(图片放在电脑中的任意位置)

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

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

(2)图片路径(图片在使用该图片的cpp文件中的文件夹下)

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

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

 1 #include <iostream>  
 2 #include <opencv2/core/core.hpp>  
 3 #include <opencv2/highgui/highgui.hpp>  
 4 
 5 
 6 using namespace cv;
 7 
 8 int main()
 9 {
10     // 读入一张图片(poyanghu缩小图)    
11     Mat img = imread("C:\\Users\\YiYA\\Desktop\\YiYA.jpg");
12     // 创建一个名为 "图片"窗口    
13     namedWindow("图片");
14     // 在窗口中显示图片   
15     imshow("图片", img);
16     // 等待6000 ms后窗口自动关闭    
17     waitKey(6000);
18     return 0;
19 }
实例代码

执行结果:

遇到的坑1:

解决方法:将x86换成x64就可以了

 遇到的坑2

opencv4是把cv.h文件去掉,融合成了图像处理的imgproc 头文件。
同时,要在自己的opencv安装目录下搜一下是否有该文件,然后在去查opencv库版本的想使用函数的该版本属于那个头文件,还要注意函数因为版本问题有可能有修改。
如果有关人脸识别的头文件face类的,需要下载contrib
参考:https://blog.csdn.net/bboytd_lyg/article/details/78457260

另外写成#include <opencv2/core/core.hpp>的原因是core.hpp在路径opencv2/core下,所以要这么写,否则只写#include <core.hpp>是会报错的

 

参考博客:

https://blog.csdn.net/qq_41175905/article/details/80560429

https://blog.csdn.net/qq_41175905/article/details/80560429

opencv 中 最小二乘直线拟合fitline测试:

https://blog.csdn.net/sinat_31425585/article/details/77985993

 

posted @ 2019-06-28 21:02  兵临城下的匹夫  阅读(2156)  评论(0编辑  收藏  举报
TOP