/**
* 简单人脸识别
* 感兴趣可关注[OpenCV 计算机图形处理-开源C代码库 javaCV]
* http://www.faceplusplus.com.cn/ face++
* google API:FaceDetector
* face 探测器 FaceDetector(1,2,3);
* 1.图片宽度;2.图片高度;3.几张脸[大合照]
*
* detector.findFaces(bitmap, mFaces);
* bitmap :要识别的图片
* mfaces : 识别出的人脸存放位置-数组
*
* 简单人脸识别
* 感兴趣可关注[OpenCV 计算机图形处理-开源C代码库 javaCV]
* http://www.faceplusplus.com.cn/ face++
* google API:FaceDetector
* face 探测器 FaceDetector(1,2,3);
* 1.图片宽度;2.图片高度;3.几张脸[大合照]
*
* detector.findFaces(bitmap, mFaces);
* bitmap :要识别的图片
* mfaces : 识别出的人脸存放位置-数组
*
*/
package com.example.facerecognition;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Point;
import android.graphics.PointF;
import android.media.FaceDetector;
import android.media.FaceDetector.Face;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
private Face mFaces[];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取图片Bitmap
Bitmap faceBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
FaceDetector detector = new FaceDetector(faceBitmap.getWidth(),faceBitmap.getHeight(), 2);
mFaces = new Face[2];
//mNumFaces 找到的人脸 个数;Face[2] :2人脸个数
int mNumFaces = detector.findFaces(faceBitmap, mFaces);
//识别
if (mNumFaces >0) {
for (int i = 0; i <mNumFaces; i++) {
PointF point = new PointF();
mFaces[i].getMidPoint(point);// 脸中心坐标点
System.out.println("人脸个数:"+mNumFaces+
"面部中心坐标X,Y:"+point.x+";"+point.y);
}
}else{
System.out.println("没有搜索到!");
}
}
}