- FaceDetector#findFaces()に渡すBitmapはARGB_8888じゃだめ
ってとこです。
RGB_565を使いました。
もっと言うと、モノクロ画像でも顔認識ができるっぽいので、プレビュー画像(YUV420)をRGB変換するのではなく、Y値だけ取り出した画像をfindFaces()に食わせました。
private Bitmap yuv2monochrome(byte data[], int width, int height, int[] buffer) { int y; for (int i = 0; i < width * height; i++) { y = data[i]; buffer[i] = 0xff000000 | y << 16 | y << 8 | y; } return Bitmap.createBitmap(buffer, width, height, Config.RGB_565); }
まぁ、FaceDetectorの処理にとても時間がかかるので、リアルタイムで顔認識はできないんですけど。
んー、微妙...
0 件のコメント:
コメントを投稿