Meine Aufgabe ist es, ein Dienstprogramm, das ein Video und Zeit in Sekunden dauern kann.Extrahieren von Bild von Video zu einem bestimmten Zeitpunkt mit OpenCV
Das Dienstprogramm sollte JPEG-Bilder aus dem Video mit der angegebenen Eingabe schreiben.
z. Lassen Sie den Videonamen abc.mpeg
und die Zeit wird dem Gerät als 20
Sekunden angegeben. Das Dienstprogramm sollte Bild von Video @ 20. Sekunde ausschreiben.
# Import the necessary packages
import argparse
import cv2
vidcap = cv2.VideoCapture('Wildlife.mp4')
success,image = vidcap.read()
count = 0;
while success:
success,image = vidcap.read()
cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file
if cv2.waitKey(10) == 27: # exit if Escape is hit
break
count += 1
Der obige Code alle Frames des gesamten Videos gibt, ist meine Sorge, wie ich Zeit passieren kann und den Rahmen zu der angegebenen Zeit bekommen?
in C++ würden Sie 'vidcap.set (CV_CAP_PROP_POS_MSEC, 20000);', um die Erfassung in Position 20 Sekunden = 20000 Millisekunden zu setzen. In Python wird es wahrscheinlich sehr ähnlich aussehen. Sie können 'vidcap.get (CV_CAP_PROP_POS_MSEC)' verwenden, um nach der aktuellen Position zu fragen, wenn Sie nach einer bestimmten Zeit anhalten möchten. – Micka