Fork me on GitHub

opencv_contrib安装说明与错误解决方案

在数模的时候,需要实现目标跟踪,因此需要安装opencv附加库,即opencv_contrib。

没有安装该附加库的时候,会提示如下错误:

opencv_contrib下载

opencv_contrib的项目地址为:https://github.com/opencv/opencv_contrib

先将opencv_contrib下载下来,为后续安装做准备。

此外还需要的是opencv以及cmake

opencv_contrib安装步骤概述

windows控制台

依次输入如下命令:

$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5

之后会在<opencv_build_directory>目录下生成opencv_contrib库的所有模块。如果不想安装所有的模块,则使用cmake命令的BUILD_opencv_*选项。示例程序如下:

$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DBUILD_opencv_legacy=OFF <opencv_source_directory>

GUI图形界面安装

  • 打开cmake-gui
  • 选择源码文件夹以及build文件夹;
  • 点击configue按钮。可以看到opencv build时的一系列参数;
  • 浏览参数并找到OPENCV_EXTRA_MODULES_PATH,将其路径设为<opencv_contrib>/modules

extra_path

  • 点击configue按钮,完成后再点击generate按钮。(第一次会询问Makefile的类型)
  • 点击open project,使用你选择的方法来生成opencv core。(上一步是Unix makfile,则相应的make,make install)

  • 在自己的代码/IDE中添加相应模块的连接器标志(linker flags)。比如想使用aruco模块,则需要加上"-lopencv_aruco"

上述步骤为该项目英文安装指南对应的翻译。

图形界面的安装可参考这篇文章:
http://blog.csdn.net/cv_jason/article/details/70037545

opencv_contrib安装错误解决方案

cmake出错Failed to download

Cmd下输入

wang@wang-PC MINGW64 /d/Program Files/opencv3/build
$ cmake -DOPENCV_EXTRA_MODULES_PATH="D:\opencv_contrib-master\modules" "D:\Program Files\opencv3\sources"

时出现下载错误,如下图所示:

CMake Error at D:/Program Files/opencv3/sources/cmake/OpenCVUtils.cmake:1047 (message):
  Failed to download .  Status=
Call Stack (most recent call first):
  D:/opencv_contrib-master/modules/dnn_modern/CMakeLists.txt:18 (ocv_download)

即:无法下载对应的模块。

遇到此错误的解决方案为:将以下三处的filename改为PACKAGE。(代码中的PACKAGE原为filename

D:\opencv\opencv_contrib\modules\dnn_modern\CMakeLists.txt
20行改为
ocv_download(PACKAGE "v1.0.0a3.tar.gz"

D:\opencv\opencv_contrib\modules\xfeatures2d\cmake\download_boostdesc.cmake
22行改为
 ocv_download(PACKAGE ${name_${id}}

D:\opencv\opencv_contrib\modules\xfeatures2d\cmake\download_vgg.cmake
16行改为
ocv_download(PACKAGE ${name_${id}}

修改后安装成功,可以在输出中查看具体的安装信息:

从图中可以发现,我所需要的tracking库也已经安装成功了。

没有make指令

在使用命令行界面安装时,没有最后一步的make指令。

那么只能自己安装了。或者直接用cmake GUI安装。

打开之前opencv_contrib的build文件夹,找到已经生成的opencv项目并打开。

打开VS之后,可以看到完整的OpenCV项目。然后直接编译即可(看个人情况,可自行选择Release或者Debug)。时间相当长。。。

编译成功后,在CMakeTargets中找到INSTALL,然后生成INSTALL,得到我们想要的最终文件。

半永久配置

上述步骤的确很麻烦,并且非常容易出错。

有热心网友给出了自己配置好的文件,可以半永久配置。读者感兴趣的可以自己尝试下:http://www.cnblogs.com/wjy-lulu/p/6605306.html

参考文献

  1. https://stackoverflow.com/questions/28619037/opencv-where-is-tracking-hpp

  2. http://blog.csdn.net/qsy2000/article/details/70158537

  3. http://blog.csdn.net/cv_jason/article/details/70037545

其实这篇教程写的并不算太详细,cmake GUI可以对照着第三个博客安装。

------ 本文结束感谢您的阅读 ------
坚持原创技术分享,您的支持将鼓励我继续创作!