CMake3.11.1+Opencv3.4.0+opencv_contrib3.4.0+VS2015(vc14)+Win10配置

为何需要自行编译opencv3.4与opencv_contrib3.4

因为在3.0之后版本的Opencv对Sift、Sufer等新算法没有提供直接编译好的动态库来加载使用,因此必须自己编译。这是因为Sift、Sufer算法专利现在是属于哥伦比亚大学,因此opencv对这部分内容及“所谓的”不稳定模块全都放到opencv_contrib中。且只在它的Github中能够找到,opencv的官网上是没有的。因此对于想使用Sift、Sufer、双目立体匹配算法、结构光等新的算法及有专利权算法的同学需要自行编译。

一、软件下载

1.1下载需要的Opencv3.4版本源码

代码地址:https://opencv.org/releases/
在这里插入图片描述
下载windows ,是.exe文件,需要经CMake才能看到源代码
双击下载下来的.exe文件解压后就是下图全部文件
在这里插入图片描述

1.2下载需要的opencv_contrib3.4.0版本源码

代码地址:https://github.com/opencv/opencv_contrib/releases
在这里插入图片描述
(下载.zip文件)

二、Cmake3.11.1编译过程

2.1Camke3.11.1的安装

见博客:https://blog.csdn.net/ZhuiMengLQG/article/details/103221901

2.2Camke编译opencv

1
源码路径“Source code”选择你刚才解压后的Opencv3.4源码,本文解压到了D:\OpenCV3.4.0\opencv\sources路径下,这个需要按照你的路径自行选择。

编译输出路径“build the binaries”,本文新建文件夹“build”路径为D:\OpenCV3.4.0\build,同样这个需要按照你的路径自行选择。
在这里插入图片描述
2
点击configure,第一次使用会弹出对话框,选择对应的vs版本即可,其他的不用管。我的是vs2015 64位,所以我选择的是vs2015 Win64,之后点确认,程序开始运行,运行完成后会在最下方显示configuration done.

这个过程会出现很多错误需耐心反复编译,主要原因是他要从国外网站下载文件,若下载失败就编译不通过,以红色显示
若失败,借用其他博客的解决方案。

可在编译输出路径D:\Nyy\image\Opencv_Sourse\Opencv34Build
中打开CMakeDownloadLog.txt文件里面有下载失败文件的连接及下载文件要保存到本地的路径。之后你自己可手动打开连接自己下载并放到指定的文件夹中。最常下载失败的:
opencv_ffmpeg.dll
opencv_ffmpeg_64.dll
fmpeg_version.cmake
ippicv_2017u3_win_intel64_general_20170822.zip

下图(D:\Nyy\image\Opencv_Sourse\Opencv34Build中的CMakeDownloadLog.txt)是我本次编译时下载失败文件的连接及要保存文件的路径,需要每个都自行下载并放到指定位置即可。
在这里插入图片描述
在下载完后放到指定文件夹时需把名字修改名字,首先找到指定存储路径“D:\Nyy\image\Opencv_Sourse\opencv34.cache\ffmpeg”如下图。如把下载的opencv_ffmpeg.dll名字修改为下面的,其实上面的CMakeDownloadLog.txt里面有名称,相信聪明的你肯定可以轻松复制粘贴的。

在这里插入图片描述
所有下载失败的的文件都可以这样操作。
3
同时需要勾选BUILD_EXAMPLES;就是编译OPencv自带的例程。
一是推荐不选BUILD_opencv_world。它的作用就是相比于opencv2的版本添加附加依赖项要一个一个添加的反人类方法,直接生成一个opencv_world310.lib,然后只需要添加这一个就可以了。更重要的是,选它特别容易编译出错!默认是不选的,不要勾选,不要勾选,不要勾选
同时要保证WITH_CUDA未被勾选。

2.2Camke编译opencv_contrib3.4.0

4
选择OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib3.4文件中的“modules”即D:\OpenCV3.4.0\opencv_contrib-3.4.0\modules。

再次单击“Configure”。直到Cmake3.10没有红色显示为止(我很顺利,没有出现红色的,我相信如果你也是按照上面来的肯定没有问题的。)

最后单击“Generate”完成Cmake3.11.1编译的最后工作。

三、vs2015的最后编译

3.1VS中的配置

打来编译输出文件D:\OpenCV3.4.0\build中找到 Opencv.sln打开工程文件
在这里插入图片描述
因为我要编译为Debug X64 因此选择如下图。
在这里插入图片描述
此时即可开始编译即:生成->生成解决方案,随后漫长的等待。那个错误是与Python有关不用考虑
在这里插入图片描述
选择 CMakeTargets下的INSTALL右键选择仅用于项目->仅生成INSTALL即可,之后会在D:\OpenCV3.4.0\build找到一个install文件夹即为最后编译生成的Opencv3.4配置需要文件。

我把install文件夹下的内容全部复制到VsOpencv3.4\build文件夹中作为最终的编译文件使用,可以把Opencv34Build内容删除(因为它实在太大了有6.5g大小)

3.2、Opencv3.4与VS2015的配置与测试

(1)、重新配置环境变量
①、环境变量设置:
变量名:OPENCV
变量值:*D:\OpenCV3.4.0\build\install
注:*表示安装目录

②、用户变量配置:
加到环境变量path中
*D:\OpenCV3.4.0\build\install\x64\vc14\bin
注:*表示安装目录

(2)、复制有关动态库至系统目录下
将 D:\OpenCV3.4.0\build\install\x64\vc14\bin下的dll文件复制至 C:\Windows\System32 和 C:\Windows\SysWOW64 目录下。

(3)、vs中新建项目的配置与测试:
1、新建win32控制台应用程序
在这里插入图片描述
2、选择空项目
在这里插入图片描述
3、打开属性管理器
视图->其他窗口->属性管理器 或者 视图->属性管理器(我的已经在主界面了)
在这里插入图片描述
4、修改Microsoft.Cpp.x64.user属性页
右键->属性
在这里插入图片描述
5、修改VC++目录
在包含目中添加:
*\opencv\ build\install\include
*\opencv\ build\install\include\opencv
*\opencv\ build\install\include\opencv2
注:表示安装目录
在这里插入图片描述
在库目录中添加:opencv安装目录下
\opencv\build\install\x64\vc14\lib
在这里插入图片描述
6、修改链接器

修改输入->附加依赖项:添加目录D:\OpenCV3.4.0\build\install\x64\vc14\lib下的全部.lib

7、保存修改

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页