2011-05-11 17 views
16

FaceDetector tarafından algılanan bir Yüzün Euler açısını almaya çalışıyorum. İşteAndroid FaceDetector.Face Euler açıları 0 her zaman

Ben LogCat için çıkış için kullandığınız:

Log.v("debug", " X: " + face.pose(Face.EULER_X) + " Y: " + face.pose(Face.EULER_Y) + " Z: " + face.pose(Face.EULER_Z)); 

Ama her zaman olursa olsun yüz de ne açısı, her üçü için 0.0 döndürür. Herhangi bir fikir neden?

+0

Algılanan bir Yüz nesnesi olup olmadığını kontrol ettiniz mi? – johnoodles

+0

CONFIDENCE_THRESHOLD üzerinde bir güven değeriniz var mı? – Fildor

cevap

2

Evet API 1'den FaceDetector poz açısını döndürür asla . Doğrulamak için source code'a bakabilirsiniz.

API 14'teki daha yeni FaceDetectionListener, bir poz açısı döndürecek, ancak yalnızca şu anda sınırlı sayıda aygıtta kullanılabilir. API 14 çalıştıran tüm cihazlar bunu kullanamaz. Cihazınızın bu API'yi destekleyip desteklemediğini görmek için getMaxNumDetectedFaces() numaralı telefonu arayın.

Alternatif olarak OpenCV'yi kullanmayı deneyebilirsiniz. Bunun için bir çift seçenek http://code.opencv.org/projects/opencv/wiki/OpenCV4Android ve http://code.google.com/p/javacv/. Benim deneyimime göre, gerçekten, gerçekten poz açısına ihtiyaç duymadıkça zorluklara değmezler.

+0

FaceDetectionListener'ı Bitmap'teki yüzleri algılamak gibi basit bir şey yapmak için kullanabilir miyim (Kamera ile ilgisi yoktur)? Ve poz açısı olmadan, FaceDectector'ın her iki göz pozisyonunu kontrol etmesi için bir yol var mı (imkansız gibi görünüyor)? –