Es ist ein Skript, das das Eingangsvideo von der Aufnahmekarte regelmäßig als Bild speichert. Ich habe es erstellt, weil ich regelmäßig einen Überblick über das Spielvideo (Nitendo Switch) erhalten wollte.
Holen Sie sich mit OpenCV ein Video vom Capture Board
Holen Sie sich jede Sekunde aufgenommene Bilder
-> Der Schalter ist 60fps (alle 1/60 Sekunde), also speichern Sie das Bild, wenn "count" ein Vielfaches von 60 ist
-> Video wird in Full HD ausgegeben, aber ich wollte ein HD-aufgenommenes Bild
capture.py
import cv2
import datetime
#VideoCapture-Objekt abrufen
#Wenn Sie zusätzlich zu Capbo mit einer Webkamera usw. verbunden sind, müssen Sie möglicherweise eine andere Nummer angeben
capture = cv2.VideoCapture(0)
print(capture.isOpened())
capture.set(3, 1920)
capture.set(4, 1080)
count = 0
while(True):
ret, frame = capture.read()
cv2.imshow('frame', frame)
count += 1
print(count)
if count % 60 == 0:
dt_now = datetime.datetime.now()
# 1280 *Konvertieren und speichern Sie in 720 aufgenommene Bilder
resized = cv2.resize(frame, (1280, 720))
#Speichern Sie als JPG im angegebenen Ordner
cv2.imwrite('H:/capture/'+ dt_now.strftime('%Y%m%d-%H%M%S')+'.jpg', resized)
# "q"Taste oder Strg+Stoppen Sie die Aufnahme bei C.
if cv2.waitKey(1) & 0xFF == ord('q'):
break
capture.release()
cv2.destroyAllWindows()
Recommended Posts