Я хотел бы выполнить обнаружение/отслеживание лица в видеофайле (например, MP4 из галереи пользователей) с использованием API Android Vision FaceDetector
. Я могу увидеть множество примеров использования класса CameraSource для отслеживания лица в потоке, поступающем непосредственно с камеры (например, on the android-vision github), но ничего не отображается в видеофайлах.Android Face Detection API - Сохраненный видеофайл
Я пробовал смотреть исходный код для CameraSource
через Android Studio, но он запутан, и я не мог видеть оригинальную онлайн. Я вижу, что между использованием камеры и использованием файла существует много общего. Предположительно, я просто воспроизвожу видеофайл на Surface
, а затем передаю его в конвейер.
В качестве альтернативы, я вижу, что Frame.Builder
имеет функции setImageData
и setTimestampMillis
. Если бы я смог прочитать в видео как ByteBuffer
, как бы передать это API FaceDetector
? Думаю, this question похож, но ответов нет. Аналогичным образом декодируйте видео в Bitmap
кадрах и передайте это значение setBitmap
.
В идеале я не хочу отображать видео на экране, и обработка должна происходить так же быстро, как и API FaceDetector
.
Там в версию с открытым исходным кодом CameraSource здесь: https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/ камера/CameraSource.java – pm0733464
Помогла ли вам эта проблема? –