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

1
2
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为共享库,编译人脸检测库

1
2
3
# export OPENCV_INSTALL_MODULES=...
# vim jni/Android.mk
# ndk-build

删除注释

1
2
#OPENCV_INSTALL_MODULES:=off
#OPENCV_LIB_TYPE:=SHARED

将生成的libdetection_based_tracker.so放到jniLibs对应架构目录下。

5、编译运行项目

在app的build.pradle中添加

1
2
3
sourceSets.main {
jni.srcDirs = ['libs']
}

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :