画像から顔を検出する方法です。
FaceDetectorは、Android4.0から使用可能。
final int MAX_FACES = 4;
// Config.RGB_565で画像作成
Bitmap temp = Bitmap.createBitmap(width, height, Config.RGB_565);
Canvas canvas = new Canvas(temp);
canvas.drawColor(0x00000000);
canvas.drawBitmap(bmp, 0, 0, new Paint());
canvas.save();
Face[] faces = new Face[MAX_FACES];
FaceDetector detector = new FaceDetector(temp.getWidth(), temp.getHeight(), MAX_FACES);
int numFaces = detector.findFaces(temp, faces);
if(numFaces > 0) {
// 認識した数だけ処理
for (int i = 0 ; i < numFaces ; i++) {
Face face = faces[i];
// 顔認識結果を取得
face.getMidPoint(midPoint); // 中心座標を取得
eyesDistance = face.eyesDistance(); // 目の間隔を取得
}
}
画像は、Config.RGB_565 にしないと、
顔検出時にエラーになります。
取得できる特徴点が少ない。。
0 件のコメント:
コメントを投稿