Android学习笔记(1)JavaCV实现人脸检测

        之前用Android自带的人脸检测API玩弄了一下,但那是静态检测的,也就是说人为先给定一张图片然后让它来检测。今天想起之前看到过有一个开源的JavaCV项目,并且它自带了一些例程,刚好有一个也是关于人脸检测的,于是想试试效果怎样,顺便记录一下怎么使用这些库,下面是这个库的使用方法。

       新建一个工程,在工程的根目录下新建文件夹libs,在libs下再新建文件夹armeabi,将javacv-bin下的javacpp.jar和javacv.jar复制到libs目录下,将解压后的javacv-android-arm.jar的内容复制到armeabi目录下,将OpenCV-2.3.1-android-arm文件夹下的库复制到armeabi目录下。右键工程--->properties--->java build path---->libraries----->add External JARS将javacpp.jar和javacv.jar添加进来。使用java-bin的samples下的FacePreview.java来测试。最后将opencv里的haarcascade_frontalface_alt.xml文件复制到工程的源码目录下。FacePreview.java文件的内容就不贴出来了。在工程的AndroidManifest.xml文件里添加摄像头使用的权限:

1     <uses-permission android:name="android.permission.CAMERA" />
2 <uses-feature android:name="android.hardware.camera" />
3 <uses-feature android:name="android.hardware.camera.autofocus" />

好了,可以运行该程序了。


      由于截出来的图一片黑色,所以就不贴图了。从运行效果来看确实可以检测出人脸,而且是动态检测的,但检测速度不是很理想。JavaCV这个项目可以在code.google里找到。


原文地址:https://www.cnblogs.com/lknlfy/p/2403953.html