前言:本学期选了一门软件课设---基于OpenCV的图形处理程序(已经完成了课设任务,出几篇博客记录一下学习历程)。首先第一步就是VS配置OpenCV(VS2017是一直以来用的编程软件),在实验课上老师也教了但是也试了好几遍都没有配置成功。课下自己在找各种配置方法看了大概有10篇左右的博客,在踩了很多坑情况下花了一下午终于配置成功了。
说明:不是博主这个版本的opencv本教程也是实用的,只需要改一点点东西就行,后面会进行提示!
1、官网下载
在此,说明一下,没有必要去根据博主 的博客下载与博客相应的版本,其实只需要改一点点东西即可,后面进行说明,官网下载,下面是官网的网址,大家可以根据自己情况选择合适的版本(我的是3.4.1版本)
网址:https://opencv.org/releases.html#
双击下载好的或者拷好的安装包,选择解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹(图2)
图3中的文件夹如果配置环境次数多应该很熟悉的
2、右键->属性->高级系统设置->环境变量
找到系统变量中的path变量,双击它,点击新建,将你解压的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盘文件夹即可!
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总是说我少各种dll文件,百度上面说不用理这种错误,可以选择勾选微软符号服务器来下载缺失的dll文件
操作步骤:左键调试->选项->常规 勾选启动源服务器支持
符号那一项勾上微软符号服务器
注意:可以用一个文件夹来缓存下载的dll文件,只是第一次加载,不用担心。或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。 我建了一个文件夹(文件夹是我自己建的),后面发现它下载了很多pdb文件!
注意:到上面所有工作,opencv已经配完了,注意解决方案平台那一栏要换成X64(因为我们一直都在配X64
(1)绝对路径
eg:Mat img = imread("F:\\suoxiaotu\\poyanghu缩小图.tif");
注意这个地方的双斜杠很重要,直接弄过来的图片途径是只有一个斜杠的,两个斜杠的原因应该是第一个斜杠是转义字符。
(2)图片路径
eg:Mat img = imread("poyanghu缩小图.tif");
这个地方有两点需要注意:第一个就是大家的图片格式一定要分清楚,建议自己右键查看目标图片的属性,另一个就是要注意这样做的前提条件就是你的图片就在你所建工程的目录下。不然会显示找不到图片。
#include
#include
#include
using namespace cv;
int main()
{
// 读入一张图片(poyanghu缩小图)
Mat img = imread("F:\\suoxiaotu\\poyanghu缩小图.tif");
// 创建一个名为 "图片"窗口
namedWindow("图片");
// 在窗口中显示图片
imshow("图片", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
return 0;
}
此上即配置成功!!
本博客转自:https://blog.csdn.net/qq_41175905/article/details/80560429
非常感谢各位博主大佬