Android 人脸检测
来源:互联网 发布:tfboys官方周边淘宝店 编辑:程序博客网 时间:2024/05/16 15:03
前言
Android 的人脸检测在 Android level 1 中就有了,其用法和效果也都还可以。本篇文章简单介绍 Android 的人脸检测。
FaceDetector
Android 的人脸检测主要用的类有 FaceDetector,主要代码如下:
public void faceDetector(Bitmap faceBitmap){ Bitmap bitmap = faceBitmap.copy(Bitmap.Config.RGB_565,true); int maxFaceNume = 3; FaceDetector faceDetector = new FaceDetector(bitmap.getWidth(),bitmap.getHeight(),maxFaceNume); FaceDetector.Face[] faces1 = new FaceDetector.Face[maxFaceNume]; int faceNum = faceDetector.findFaces(bitmap,faces1); if (faces1 == null || faces1.length < 1) { return; } float eyesDistance = 0f; for (int i = 0; i < faceNum; i++) { PointF eyeMidPoint = new PointF();//两眼的中点距离 faces1[i].getMidPoint(eyeMidPoint);//两眼之间的距离 eyesDistance = faces1[i].eyesDistance(); float distanceX = 1.1f * eyesDistance; float distanceTop = 1.4f * eyesDistance; float distanceBottom = 2.0f * eyesDistance; float left = eyeMidPoint.x - distanceX; float right = eyeMidPoint.x + distanceX; float top = eyeMidPoint.y - distanceTop; float bottom = eyeMidPoint.y + distanceBottom; RectF rectF = new RectF(); rectF.set(left, top, right, bottom); } }
注意:
第 2 行,把要检测的图片转换成 RGB_565 ,这个转换是必须的,否则将不能识别。具体的原因笔者也不是太清楚。不过别的人脸检测也需要类似的转换,比如, Opencv 需要将图片转换成灰度图片才能检测。
第 3 行,设置最多检测到的人脸数,注意,并不是实际检测到的人脸数。第 7 行的 faceNum 才是检测到的实际的人脸数。
第 5,6,7 行,是检测的主要代码。
第 14 到 28 行,是得到检测的人脸的矩形范围。可以利用此矩形自定义一个空间框处人脸。
结语
比较常见的人脸检测还有 Opencv,据说 Opencv 的人脸检测算法比 Android 的效率要高,笔者试了一下确实要快一些,但是检测的效果有些不好。下周仔细研究一下,下篇文章将介绍 Opencv 的人脸检测。
0 0
- android 人脸检测
- Android 人脸检测
- Android人脸检测
- 【android+opencv人脸检测】
- android 人脸检测&&识别
- android 用原生的人脸检测 检测图片
- Android人脸检测类FaceDetector
- Android人脸检测类FaceDetector
- Android人脸检测类FaceDetector
- Android中的人脸检测入门
- android之人脸检测FaceDetector||人体?
- Android人脸检测类FaceDetector
- Android API教程:人脸检测
- Android人脸检测类FaceDetector
- android opencv 人脸检测实现
- Android人脸检测类FaceDetector
- Android API教程:人脸检测
- Android开发 API人脸检测实例教程
- lua math库
- OpenStack Rally分析及实践
- Java线程学习笔记(三)---线程同步互斥
- 指数型母函数 简介
- HDU 5543 Pick The Sticks(DP)
- Android 人脸检测
- 汉诺塔-java
- 【HDU1176】免费馅饼(类数塔问题)
- 类加载机制_双亲委派模型
- HDU 5721 Palace(平面最近点对(分治))
- ORACLE OEM
- webmagic入门
- Error code 2: Access violation的错误.
- android检查更新(强制更新)