我正在尝试使用 ICS 中新的基于硬件的 Camera.faceDetectionListener 在实时预览模式下进行人脸检测。我尝试过使用 Nexus 4、Nexus 7 和三星 Galaxy 10.1 平板电脑,当我调用 getMaxNumDetectedFaces 时,所有这些设备的前置摄像头都返回 0。不过,所有设备都支持面部解锁,所以我不明白为什么它们似乎都不支持面部检测。有没有人使用这些设备之一进行此操作?
问问题
1062 次
1 回答
1
从 API 14 (ICS) 开始支持,getMaxNumDetectedFaces在使用 startFaceDetection 启动后返回包含相机人脸检测结果的数组的最大长度。如果返回值为0,则表示设备不支持这种人脸检测方式。在这种情况下,人脸检测必须通过其他方式实现(例如,使用API 1 以来可用的FaceDetector )。
我检查了几个设备中前后摄像头的 getMaxNumDetectedFaces 返回的值:
- Nexus 4:两个摄像头都返回 2。
- Nexus 5:为两个摄像头返回一个非常大的数字 (5308421)。
- Nexus 7:两个摄像头都返回 0。
- Nexus 10:两个摄像头都返回 16
- Sony Xperia Z1:两款相机均返回 5。
总而言之,OEM 对相机人脸检测的支持可谓屡试不爽。
于 2014-06-05T00:19:33.877 回答