Il s'agit d'un script qui enregistre périodiquement la vidéo d'entrée du tableau de capture en tant qu'image. Je l'ai créé parce que je voulais avoir un aperçu de la vidéo du jeu (Nitendo Switch) sur une base régulière.
Obtenez la vidéo du tableau de capture avec OpenCV
Obtenez des images capturées chaque seconde
-> Le commutateur est à 60fps (toutes les 1/60 de seconde), donc enregistrez l'image lorsque count
est un multiple de 60
-> La vidéo est sortie en Full HD, mais je voulais une image capturée HD
capture.py
import cv2
import datetime
#Obtenir l'objet VideoCapture
#Si vous êtes connecté à une caméra Web, etc. en plus de Capbo, vous devrez peut-être spécifier un autre numéro
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 *Convertissez et enregistrez en 720 images capturées
resized = cv2.resize(frame, (1280, 720))
#Enregistrer au format jpg dans le dossier spécifié
cv2.imwrite('H:/capture/'+ dt_now.strftime('%Y%m%d-%H%M%S')+'.jpg', resized)
# "q"Touche ou ctrl+Arrêtez de capturer en C
if cv2.waitKey(1) & 0xFF == ord('q'):
break
capture.release()
cv2.destroyAllWindows()
Recommended Posts