2016-07-04 18 views
0

Ich arbeite an einem Video-Processing-Algorithmus in der Java-Version von OpenCV. Ich verwende die folgenden Funktionen, um die Videodatei zu lesen:OpenCV VideoCapture liest nicht alle Frames

und dann verarbeite ich die Einzelbilder nacheinander.

Das Problem ist, dass das Programm scheinbar Frames "überspringt". Der variable Framecount entspricht nicht der tatsächlichen Anzahl der Frames des Videos. Die Videos sind im Webm-Format.

Warum könnte dies scheitern?

Vielen Dank im Voraus,

Antwort

0

Ok manchmal aufgrund einer gewissen Verzögerung bei der Verarbeitung auftreten können der Rahmen fehlt. Aber es ist so selten. Grundsätzlich, wenn Sie ein Video von einem Dateisystem und nicht von einer Kamera lesen, die VideoCapture verwendet, liest es die Bilder schnell (aber es wird den Rahmen so weit wie ich weiß nicht übersprungen). Versuchen Sie daher, eine Verzögerung zwischen jedem einzelnen Frame hinzuzufügen. Wir verwenden waitKey in cpp und python. Aber ich bin nicht bewusst für Java, möglich, wir würden Schlaf() verwenden, denke ich.