2011-05-11 5 views
16

मैं FaceDetector द्वारा पता लगाए गए चेहरे का यूलर कोण प्राप्त करने का प्रयास कर रहा हूं।Android FaceDetector.Face Euler कोण 0 हर समय

यहाँ है कि मैं क्या Logcat के उत्पादन के लिए उपयोग करते हैं:

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

लेकिन यह हमेशा सभी तीन के लिए 0.0 देता है, कोई बात नहीं क्या कोण चेहरे पर है। कोई विचार क्यों?

+0

क्या आपने जांच की है कि कोई पता लगाया गया चेहरा वस्तु है या नहीं? – johnoodles

+0

क्या आपके पास CONFIDENCE_THRESHOLD से ऊपर विश्वास मान है? – Fildor

उत्तर

2

हाँ FaceDetector एपीआई 1 से एक मुद्रा कोण देता है कभी नहीं । आप सत्यापित करने के लिए source code पर देख सकते हैं।

एपीआई 14 से नया FaceDetectionListener एक पॉज़ कोण लौटाएगा, लेकिन यह अभी सीमित उपकरणों पर उपलब्ध है। एपीआई 14 चलाने वाले सभी डिवाइस भी इसका उपयोग नहीं कर सकते हैं। यह देखने के लिए कि आपका डिवाइस उस एपीआई का समर्थन करता है या नहीं, आपको getMaxNumDetectedFaces() पर कॉल करना होगा।

आप वैकल्पिक रूप से OpenCV का उपयोग करने का प्रयास कर सकते हैं। इसके लिए कुछ विकल्प http://code.opencv.org/projects/opencv/wiki/OpenCV4Android और http://code.google.com/p/javacv/ हैं। मेरे अनुभव में वे परेशानी के लायक नहीं हैं जब तक आप वास्तव में, वास्तव में मुद्रा कोण की आवश्यकता नहीं है।

+0

क्या मैं बिटकमैप पर चेहरों का पता लगाने जैसे कुछ आसान करने के लिए FaceDetectionListener का उपयोग कर सकता हूं (कैमरा के साथ कुछ भी नहीं)? और पॉज़ कोण के बिना, क्या फेसडिक्टर के लिए दोनों आंखों की स्थिति की जांच करने का कोई तरीका है (असंभव लगता है)? –

संबंधित मुद्दे