2013-10-26 1 views
1

Я пытаюсь получить обнаружение лица, работающее в режиме предварительного просмотра, используя аппаратное средство Camera.faceDetectionListener, новое в ICS. Я пробовал с Nexus 4, Nexus 7 и планшета Samsung Galaxy 10.1, и ВСЕ эти устройства возвращают 0 для передней камеры, когда я вызываю getMaxNumDetectedFaces. Однако все устройства поддерживают разблокировку лица, поэтому я не понимаю, почему никто из них, похоже, не поддерживает распознавание лиц. Кто-нибудь получил эту работу с одним из этих устройств?Обнаружение лица камеры getMaxNumDetectedFaces возвращает 0 для Nexus 4, Nexus 7, Samsung Galaxy 2

ответ

1

Поддерживается начиная с API 14 (ICS), getMaxNumDetectedFaces возвращает максимальную длину массива, которая содержит результаты обнаружения лица камеры после ее запуска с использованием startFaceDetection. Если возвращаемое значение равно 0, это означает, что устройство не поддерживает этот метод распознавания лиц. В этом случае обнаружение лица должно быть реализовано с помощью других средств (например, с использованием FaceDetector, доступного с API 1).

Я проверил значение, возвращенное getMaxNumDetectedFaces для передних и задних камер в нескольких устройств:

  • Nexus 4: возвращает 2 для обеих камер.
  • Nexus 5: возвращает очень большое количество (5308421) для обеих камер.
  • Nexus 7: возвращает 0 для обеих камер.
  • Nexus 10: возвращает 16 для обеих камер
  • Sony Xperia Z1: возвращает 5 для обеих камер.

В заключение, поддержка OEM для обнаружения лица камеры поражает и пропускает.