Android FaceDetector.Face Euler角度始终为0

mel*_*owg 17 android euler-angles face-detection

我正试图获得FaceDetector检测到的Face的Euler角度.

这是我用来输出到Logcat的东西:

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

但无论面部处于什么角度,它总是为所有三个返回0.0.有什么想法吗?

Chr*_*ian 5

是的,API 1 的FaceDetector永远不会返回姿势角度。您可以查看源代码进行验证。

API 14中更新的FaceDetectionListener将返回一个姿势角度,但目前仅在数量有限的设备上可用。甚至不是所有运行API 14的设备都可以使用它。您必须调用getMaxNumDetectedFaces()来查看您的设备是否支持该API。

您也可以尝试使用OpenCV。几个选项是http://code.opencv.org/projects/opencv/wiki/OpenCV4Androidhttp://code.google.com/p/javacv/。以我的经验,除非您真的非常需要摆角,否则他们不值得麻烦。


Nic*_*ick 0

这里有几个类似的问题。查看此链接中的第一个答案:

Android FaceDetector 姿势值始终为 0

看看下面有人说他们解决了问题:

Android 人脸检测