обратный вызов предварительного просмотра камеры Android очень медленно рисует вид наложения - PullRequest
2 голосов
/ 04 апреля 2011

Я использую детектор лиц, который отслеживает обнаруженные лица по мере их движения, использую обратный вызов предварительного просмотра камеры и рисую вид наложения в верхней части экрана предварительного просмотра (где он рисует круги вокруг лиц).

Все это работает, но оно отстает на 2 или 3 секунды к тому времени, когда вид меняется, нарисованные круги появляются слишком поздно.Я вызываю инвалидацию в режиме наложения в методе onPreviewFrame.

Есть идеи, что не так?Является ли метод findFaces для Android FaceDetector очень медленным?Кажется, что для проверки системного времени требуется ~ около 0,5 секунды, что намного меньше 3 секунд.

Любая помощь будет принята с благодарностью.Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 апреля 2013

FaceDetector построен для обнаружения лиц в произвольных растровых изображениях.Поскольку вы хотите обнаруживать лица в предварительном просмотре активной камеры, возможно, вы можете попробовать использовать реализацию распознавания лиц Camera.FaceDetectionListener, как описано здесь:

http://developer.android.com/guide/topics/media/camera.html#face-detection

Вероятно, этот методОптимизация распознавания лиц оптимизирована для совместной работы с активной рамкой предварительного просмотра камеры.

Также попробуйте открыть стандартное приложение камеры Android на своем устройстве и смотреть, как оно распознает лица.Он обнаруживает их с той же скоростью, что и распознавание лиц в вашем приложении?Если это быстрее, то, скорее всего, вы сможете сделать приложение быстрее.Если нет, то ваше приложение, вероятно, уже работает так же быстро, как и на этом устройстве.

Для справки, обнаружение лица в стандартном приложении на моем Nexus 4 в среднем составляет около 0,2 с (5 в секунду) и включается.мой Nexus 10 немного медленнее, вероятно, около 0,33 с (3 в секунду).

0 голосов
/ 04 апреля 2011

0,5 - 1 сек - время, когда лицо обнаружено методом FaceDetector.findFaces.

...