前言
因为学习方向及项目需要用到VS+OpenCV进行开发,简单的OpenCV配置不能满足需要,许多的图像算法例如SIFT、ORB、FAST等都存放在扩展模块中,于是进行扩展模块的配置。在开始写之前先感谢以下作者的博客及视频,本模块安装教程参考以下博客及视频完成及完善:
①OpenCV学习笔记(1)——配置VS2017+opencv3.4.10+opencv_contrib-3.4.10+cmake3.17.1跳转链接
②OpenCV学习笔记(六)——配置扩展模块:跳转链接
③视频链接: 跳转链接
一、 下载OpenCV Contrib
在这之前我们已经配置好了VS2019+OpenCV3.4.10,此类教程网上大把,包括系统变量的路径设置,VS2019的库目录包含等。
此处给出OpenCV Contrib的各个版本的下载地址:
https://github.com/opencv/opencv_contrib/releases
在下载OpenCV Contrib扩展模块资料的时候,一定要注意下载与之前配置的OpenCV相对应的版本,所以此处我下载3.4.10的对应版本:
下载好后将其拷贝到之前配置OpenCV时创立的文件夹下(为了方便)并进行解压缩:
二、 下载cmake-gui
cmake-gui下载地址(当时最新版本位:3.18.4):
添加链接描述
进入网址,选择64位系统对应的Windows安装包:
同样地,下载好后将其拷贝到之前配置OpenCV时创立的文件夹下(为了方便)并进行解压缩:
然后我们在OpenCV的安装目录下新建一个newbuild文件夹,用来存放编译扩展模块后的生成文件:
然后打开刚刚解压的cmake文件夹下的bin目录中的cmake-gui.exe文件:
按照下图进行目录输入:
说明:D:/MyOpencvWorkspace/opencv/sources为opencv3.4.10的安装目录中的source;
D:/MyOpencvWorkspace/opencv/newbuild为存放编译后生成文件的目录,就是上一步我们自己新建的newbuild。
然后点击Generate进行编译:
这里选择对应的安装的VS的版本,以及选择使用默认的本地编译器。
等待运行:
在这一步,大概率会出现错误,但这都是正常的,常见的错误如下:
以上问题其实是sources\3rdparty\ffmpeg\downloads目录下的opencv_ffmpeg.dll等文件由于下载不成功导致以上错误 。
然后我们找到newbuild路径下的CMakeDownloadLog文件并打开:
打开如下,有缺少文件的本地路径,有缺少文件的哈希值,有缺少文件的下载路径:
需要我们自行下载所需的文件;设置翻墙等操作此处不给出。
复制缺少文件的链接,用浏览器打开并选择另存为:
在另存为的时候在文件前面加上刚刚截图标红的哈希值,存放路径为"D:/MyOpencvWorkspace/opencv/sources/.cache":
重复下载完上面的文件后,继续下一步:
重新点击generate生成,又出现以下错误: