Android: FaceDetector не работает. Findface всегда обнаруживает нулевую грань;

У меня проблема с обнаружением лица в Android с помощью android.media.FaceDetector. Я попытался определить лица с помощью этого кода:

BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.RGB_565; Bitmap b = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/myimage.jpg", options); FaceDetector fd = new FaceDetector(b.getWidth(), b.getHeight(), 1); Face[] face = new Face[1]; int detected_face = fd.findFaces(b, face); 

Detect_face всегда 0;

Я пытался использовать разные изображения, но получил те же результаты. Кто-то может объяснить мне, что случилось с моим кодом?

С уважением

Код ниже работает для меня, и, насколько я помню, лица на фотографии должны быть вертикальными, а это означает, что если на картинке стоит на голове, тогда вам нужно повернуть растровое изображение на 180 градусов, прежде чем подавать его на FaceDetector, Или его лицо не будет обнаружено)

 private void detectFaces() { int max = 5; BitmapFactory.Options bfo = new BitmapFactory.Options(); bfo.inPreferredConfig = Bitmap.Config.RGB_565; bfo.inScaled = false; bfo.inDither = false; Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.myphoto, bfo); int w = bitmap.getWidth(); int h = bitmap.getHeight(); FaceDetector fd = new FaceDetector(w, h, max); Face[] faces = new Face[max]; int c = fd.findFaces(bitmap, faces); for (int i=0;i<c;i++) { Log.d("TAG", Float.toString(faces[i].eyesDistance())); } }