在opencv中,许多有用的算法都在contrib包里,而官方下载的prebuild版本,是不包含contrib的,需要手动编译。网上关于contrib的编译方法有许多,这里主要汇总一下,并列举3.2版本编译的注意事项(主要是opencv_world以及Android下的问题)。
一、编译PC版
虽然目标是在Android平台,但先编译好Windows平台版本,能够方便测试。调试通过后再迁到Android版本,提高开发效率。
Opencv采用cmake,支持不同平台,在Windows下以下准备工作:
a)下载Visual Studio,我用的是VS2015社区版;
b)下载Cmake软件;
c)下载git软件,当然没有也可以,因为github可以直接下载ZIP包。
编译的过程,简单来说就是先用cmake生成VS工程,然后用VS进行编译构建。下面是具体步骤:
1、 下载opencv和opencv_contrib(可以在github.com搜索一下opencv项目),解压到本地。例如E:\src\opencv\opencv-3.2.0和E:\src\opencv\opencv_contrib-3.2.0。
2、 运行Cmake-gui,指定source code目录为源码目录,即E:\src\opencv\opencv-3.2.0,build目录为E:\src\opencv\build。如下图所示:
3、 点击Configure,如果build目录未创建,会有一个确认对话框,然后弹出Visual Studio的选择,这里也可以选择Win64版本。
如果选错了,我尚不知道这里该如何修改,通常是删除整个E:\src\opencv\build目录,重新来过。
4、 确认后等待cmake进行配置(时间可能比较久,因为要下载依赖的第三方库,由于众所周知的原因,最好能够翻墙),之后出现一些参数。将OPENCV_EXTRA_MODULES_PATH配置为opencv_contrib所在目录下的modules,即E:\src\opencv\opencv_contrib-3.2.0\modules。再次点击Configure直至完成。

本文详细介绍了如何手动编译OpenCV的contrib模块,包括在Windows和Android平台上。在Windows上,首先配置Visual Studio、CMake和Git,然后使用CMake生成并构建项目。在Android上,由于新版本SDK的变化,需要使用旧版本SDK和NDK,设置ANDROID_ABI等环境变量,最后通过CMake构建适用于不同架构的库文件。编译完成后,将不同架构的库文件合并,以便在Android设备和模拟器上使用带contrib模块的OpenCV。
:编译opencv_contrib模块&spm=1001.2101.3001.5002&articleId=69944267&d=1&t=3&u=e3fb276fab0c4bd8a3f7f4448698435e)
800

被折叠的 条评论
为什么被折叠?



