在数模的时候,需要实现目标跟踪,因此需要安装opencv附加库,即opencv_contrib。
没有安装该附加库的时候,会提示如下错误:
opencv_contrib下载
opencv_contrib
的项目地址为:https://github.com/opencv/opencv_contrib
先将opencv_contrib
下载下来,为后续安装做准备。
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
;
- 点击
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
参考文献
其实这篇教程写的并不算太详细,cmake GUI可以对照着第三个博客安装。