C++图像处理OpenCV之屠龙宝刀第11篇 —— opencv_contrib(OpenCV贡献库)
一、opencv_contrib仓库简介
OpenCV的核心库,就是通常所说的OpenCV。
在核心库之外,还有一个分离开的包含OpenCV最新功能实现的opencv_contrib,也可以称之为OpenCV贡献库。
opencv_contrib中包含的模块有:
opencv_contrib仓库中包含了绝大多数用户生成的内容,同时也比核心库OpenCV拥有更完整的关于计算机视觉的算法应用;
opencv_contrib仓库中的模块与模块之间没有任何软件依赖。 每一个模块都要求自身具备文档说明、单元测试案例和样本代码,并且绝大多数模块通常还包含了模块教程。
OpenCV核心库必须通过的测试,例如,每一个模块必须服从所有其他的格式、自动化软件构架测试、单元测试等等。opencv_contrib仓库中的模块也必须通过这些测试。
opencv_contrib仓库中的每一个函数也和核心库OpenCV中的函数一样,都需要写说明文档,这样opencv_contrib仓库中的函数就形成了一个能自动维护的关于更高级计算机视觉应用拓展的超集。
opencv_contrib仓库可以在这里下载:opencv_contrib下载地址;
编译的时候,opencv_contrib仓库需要从OpenCV核心库中抽离出来,并独立编译;
通过nightly编译的站点,可以找到这些opencv_contrib仓库模块的说明文档。
二、opencv_contrib仓库中包含的内容
opencv_contrib仓库中包含的所有模块都需要单独下载和单独编译。
如果你决定编译opencv_contrib仓库,但又不想编译全部的函数,可以关闭编译任意函数选项,通过替换的值为OFF,后面紧跟需要关闭的函数的名字。
$ cmake -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules \
-D BUILD_opencv_<reponame>=OFF \
<opencv_source_directory>