Ich möchte Gesichtserkennung/Tracking auf einer Videodatei (z. B. ein MP4 aus der Benutzergalerie) mit der Android Vision FaceDetector
API durchführen. Ich kann viele Beispiele zur Verwendung der CameraSource-Klasse sehen, um Gesichtstracking in dem direkt von der Kamera kommenden Stream auszuführen (z. B. on the android-vision github), aber nichts in Videodateien.Android Gesichtserkennung API - Gespeicherte Videodatei
Ich habe versucht, den Quellcode für durch Android Studio, aber es ist verschleiert, und ich konnte das Original online nicht sehen. Ich stelle fest, dass es viele Gemeinsamkeiten zwischen der Verwendung der Kamera und der Verwendung einer Datei gibt. Vermutlich spiele ich einfach die Videodatei auf einem Surface
und übergebe das dann an eine Pipeline.
Alternativ kann ich sehen, dass Frame.Builder
Funktionen setImageData
und setTimestampMillis
hat. Wenn ich das Video als ByteBuffer
einlesen könnte, wie würde ich das an die FaceDetector
API übergeben? Ich denke, this question ist ähnlich, aber keine Antworten. In ähnlicher Weise dekodieren Sie das Video in Bitmap
Frames und übergeben Sie das an setBitmap
.
Idealerweise möchte ich das Video nicht auf dem Bildschirm wiedergeben, und die Verarbeitung sollte so schnell erfolgen, wie die FaceDetector
-API in der Lage ist.
Es ist eine Open-Source-Version von CameraSource hier: https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/ Kamera/CameraSource.java – pm0733464
Haben Sie Ihr Problem gelöst, bin ich gleich konfrontiert? –