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']
}
上一篇 Android编译OpenSSL库报错ui_openssl.c:function read_string_inner
下一篇 Android上使用Tesseract识别文字
目录
文章列表
1 React Native学习之JSX与ReactJS
React Native学习之JSX与ReactJS
2
Kubernetes api微服务开发之访问api server
Kubernetes api微服务开发之访问api server
3
Java私钥字符串转为PHP pem私钥
Java私钥字符串转为PHP pem私钥
4
Swift - class与staitc关键字的区别与使用(类方法、静态方法)
Swift - class与staitc关键字的区别与使用(类方法、静态方法)
5
CentOS下安装Tomcat
CentOS下安装Tomcat
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。