2012年8月29日水曜日

[Android]FaceDetectorを使う


画像から顔を検出する方法です。

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 件のコメント:

コメントを投稿