在《Android Studio增加NDK代码编译支持--Mac环境》和《Mac平台下Opencv开发环境搭建》两篇文章中,介绍了如何使用NDK环境和Opencv环境搭建与测试使用,现在,在PC端对图像处理算法测试没问题后,该在移动端进行功能移植了,ios平台的很简单,直接把类库拷进工程就行了,android的稍微麻烦点,这里就以android平台为例说明移植步骤。
为了更好的模块移植,这里使用Android源码的make文件写法:*.mk,Android源码是一个很大的工程,它的编译采用一个大的mk文件,通过脚本文件的配置来自定义编译的,在build/core/下面的Android.mk文件就是总的编译文件入口:
这里写的opencv安卓模块也使用mk文件写法来编译so库。这里新建了一个测试工程,可以在GitHub上download或fork来查看源码: https://github.com/linjk/TestOpenCV
下面开始移植步骤:
1. 新建测试工程OpenCVTest:
2. 拷贝下载的opencv的android平台的开发包,这里下载3.1.0版本的:
这里把sdk目录下的native目录拷贝到工程根目录,这个目录下是c/c++语法的,java目录是已封装好的一些java接口,按需选择吧,为了更好的算法移植而不用每次改写,这里选择native库,复制后工程结构如下:

