android opencv demo,OpenCV-Demo

OpenCV-Demo

介绍

之所以选取OpenCV最新版4.5,因为在4之前的版本,使用的gnustl_static,这样与最新的AndroidStudio+NDK的c++_shared不兼容(gnustl_static库的符号中无__ndk1字样),无法链接。且老版OpenCV使用的是eclipse工程,使用ndk-build编译,与现在推荐的cmake方式兼容性也不好,需要自己写CMakeLists.txt。

最新版本已经完全将opencv sdk及sample工程切换到了gradle,可以直接导入到AndroidStudio中,甚是方便。

安装过程

本地创建一个支持C++的AS工程(避免直接导入官方的sample工程,因为其内容太多,且gradle版本与本地也极可能不合,我们只想导入sdk)

15c07a8d3e5e1d0857d919aabe8468ad.png

1fa6b541aee12f09b5fbe553f3bc13e4.png

解压下载的zip包,将其中的sdk目录作为module导入创建的工程

79d66a799420a075069889003f94aad1.png

d2bb5d62049dfa619dabf77bffb3e290.png

使app模块依赖sdk

883b8d93e7db20d27a1d0ef08ba753f6.png

将zip包中samples下的face-detection中的主要文件替换创建的app工程,如src/main/cpp(记得按实际包名修正jni函数名称的前缀)、src/main/res、src/main/java、AndroidManifest.xml等,并将build.gradle中的externalNativeBuild字段修改为face-detection中的对应内容。

4b0c76ea62657dfd536cbca3dd5ca3cf.png

960b1bf794e4df5ddcb8c913f33457a9.png

注意的是project(':sdk').projectDir中的sdk是导入的sdk moudle名称,此处为sdk,而不是face-detection中的opencv

这样就完成了sdk的导入,可以直接进行编译、安装、运行。然后就可以在自己的app模块进行算法开发了,不仅可以使用opencv的java API,也可以在jni中使用C++ API(参考DetectionBasedTracker_jni.cpp)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值