VS2015+opencv3.4.10+opencv-contribute3.4.10

VS2015+opencv3.4.10+opencv-contribute3.4.10

  • 关于opencv-contribute的环境配置
    • 准备工作
    • 生成OpenCV项目
    • 编译生成dll和lib
    • VS导入环境

关于opencv-contribute的环境配置

由于目前在做三维重建的实验任务,需要用到OpenCV的扩展库中的特征选择的部分算法(ORB、SURF等),在配置OpenCV-contribute的过程中,遇到不少坑,特此记录。

准备工作

  1. 已经配置好Opencv(3.4.10)环境(环境配置可参考OpenCV-contribute) github上OpenCV地址
  2. 从github上下载了Opencv_contribute安装包(版本与OpenCV对应)github上OpenCV-contribute地址
  3. 安装好cmake(官网下载最新版即可)Cmake官网地址
  4. 安装好Visual Studio 2015
  5. 解压opencv-contribute压缩包至opencv的sources文件夹下
  6. 在opencv文件夹下创建一个newbuild文件夹

生成OpenCV项目

  1. 打开Cmake的GUI,然后按照图示的选择Opencv存放的目录

VS2015+opencv3.4.10+opencv-contribute3.4.10_第1张图片

  1. 点击configure调试,选择编译环境(例如我这里是VS2015,想要编译64位)

VS2015+opencv3.4.10+opencv-contribute3.4.10_第2张图片

  1. configure完毕之后,寻找OPENCV_EXTRA_MODULES_PATH,将opencv额外包的路径设置为下载的opencv-contribute的modules文件夹,再次点击configure调试。

OPENCV_EXTRA_MODULES_PATH

  1. 这次configure过程中可能出现编译文件ffmpeg_version.cmake、opencv_ffmpeg.dll、opencv_ffmpeg_64.dll、ippicv等文件缺失的情况。出现这种情况,打开D:\opencv\sources.cache对应的文件夹,会发现所有文件下载失败,大小都是0KB(下图已经是修改过的情况)。
    下载失败
    该情况是由于下载这些文件要连接外网所致,这里我们可以手动下载这些文件,并替换掉文件夹中的文件,但要注意我们每个文件的MD5的序列号要对应。例如寻找opencv_ffmpeg.dll的MD5,可以全盘搜索CMakeDownloadLog.txt文件,VS2015+opencv3.4.10+opencv-contribute3.4.10_第3张图片
    可以看到我们的步骤是从红框地址下载对应opencv_ffmpeg.dll并核对它的MD5值,我这边的MD5值为301ae2000e25f800ab8e0065f277ad28。
    但是在下载ffmpeg_version.cmake文件时,直接打开网页网址会直接出现文件文本内容,需要右击另存为网页再更改名字,而不能直接复制网页文本,这样会导致MD5还是不相同。

  2. 对应版本都正确之后,继续点击configure,如果下载的opencv_contribute和opencv的版本不对应,可能会出现duplicate Names存在重复文件的错误,需要下载对应的版本。

  3. 在Cmake编译时也可以把OPENCV_ENABLE_NONFREE后面的勾打上,因为在新版本的opencv中像是SIFT算子或是SURF算子已经不是免费开源的了,如果不打勾的话在之后的代码运行中,可能会在初始化创建SURF对象时出现内存溢出的问题。

OPENCV_ENABLE_NONFREE

  1. Configure完成之后,点击Generate,之后再点击Open Project。

点击Open Project

编译生成dll和lib

  1. 先选好需要编译的是Debug还是Release,右键ALL_BUILD,仅生成ALL_BUILD

VS2015+opencv3.4.10+opencv-contribute3.4.10_第4张图片

  1. 右键INSTALL,仅生成INSTALL

VS2015+opencv3.4.10+opencv-contribute3.4.10_第5张图片

  1. 最后编译完成的有效目录在install下

VS导入环境

环境配置与opencv配置方法相同,此处给出一般的opencv的环境配置方法

  1. 添加新项目属性表,并自由命名(我命名为opencvEnvPropertySheett)

VS2015+opencv3.4.10+opencv-contribute3.4.10_第6张图片

  1. VC++目录
    包含目录:
    C:\opencv\opencv\build\include
    C:\opencv\opencv\build\include\opencv
    C:\opencv\opencv\build\include\opencv2
    库目录:
    C:\opencv\opencv\build\x64\vc14\lib

VS2015+opencv3.4.10+opencv-contribute3.4.10_第7张图片
VS2015+opencv3.4.10+opencv-contribute3.4.10_第8张图片

  1. 链接器-》输入
    附加依赖项:opencv_world3410.lib
    Ps:文件夹中有两个文件,其中后缀d代表Debug模式,没有d即Release模式。在debug版本和release版本调试配置的时候注意区分。也就是Debug版本要写opencv_world3410d.lib。(图中是用的opencv320版本)

VS2015+opencv3.4.10+opencv-contribute3.4.10_第9张图片

你可能感兴趣的:(opencv,cmake,c++,github,c语言)