Android for opencv NDK环境搭建初始
尝试将opencv或python写的算法在Android端实现,所以看了下opencv for Android 的相关资料,此处将遇到的问题记录一下。此处介绍的是连接动态库,并且Android不需要安装opencv Manage,就可以在jni层和java层访问到opencv函数。
1.从官网下载opencv 版本
2. 新建android studio工程后,按如下操作:
3. 相关文件代码如下:
4. 生成jni 头文件命令如下:
进入到工程所在的目录,main/jni/目录下,执行javah -jni com.cvtest.JNIUtils 在 本目录生成com_cvtest_JNIUtils.h 文件,编译好.cpp文件后,就可以执行ndk-build 命令:
编译完成后,将对应的架构的libopencv_java3.so拷贝到所生成的libs下的对应的架构目录下。
- 此后就可以在java层和jni层调用opencv的相关接口实现图像处理了。
总结注意的几点:
- native 要区分是static 还是shared 编译;
- 一定要将java目录下的资源文件attrs.xml 放到工程的相应目录中;
- aidl 文件建立时一定要包含完整的包名:
.
4.android版本的opencv因为没有ffmpeg库的支持,所以无法通过VideoCapture获取rtsp视频流。