Android下OpenCV实现人脸检测
OpenCV介绍
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
OpenCV官网:http://opencv.org/
OpenCV SDK:https://opencv.org/releases.html
GitHub:https://github.com/opencv/opencv
opencv-3.4.2-android-sdk:https://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-android/3.4.2/opencv-3.4.2-android-sdk.zip
opencv-android-sdk目录结构
- apk:OpenCV Manager apk的存放目录(根据不同cpu型号有不同的apk)
- samples:OpenCV代码案例包含人脸检测和其他。
- sdk:包括sdk和lib包
OpenCV Manager apk支持运行人脸检测demo
运行环境:红米Note 4X
adb install apk/OpenCV_3.4.2_Manager_3.42_arm64-v8a.apk
adb install samples/example-face-detection.apk
无OpenCV Manager apk支持运行人脸检测demo
需求:在不安装OpenCV Manager apk的情况下跑通OpenCV下的人脸检测demo
1、导入samples/face-detection工程
2、导入OpenCV的Java库
sdk/java
3、导入OpenCV的动态库与静态库
sdk/native/libs
sdk/native/staticlibs
需要将OpenCV SDK下的libs导入到项目中去,这样我们的项目就不需要安装OpenCV Manager apk了。
4、以OpenCV为共享库,编译人脸检测库
# export OPENCV_INSTALL_MODULES=...
# vim jni/Android.mk
# ndk-build
删除注释
#OPENCV_INSTALL_MODULES:=off
#OPENCV_LIB_TYPE:=SHARED
将生成的libdetection_based_tracker.so放到jniLibs对应架构目录下。
5、编译运行项目
在app的build.pradle中添加
sourceSets.main {
jni.srcDirs = ['libs']
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/implement-face-detection-with-opencv-on-android/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论