Angenommen, ich habe eine Anzahl von Videoclips, die eine bestimmte Sequenz von Schritten zeigen sollen, aber wenn die Clips erstellt wurden, haben sie möglicherweise unerwünschte Aktionen vor oder nach dem Ereignis enthalten.Wie man OpenCV's VideoWriter basierend auf Benutzeraktionen selektiv umschaltet
Wäre es möglich, OpenCV zu verwenden, um das Video Bild für Bild automatisch abzuspielen, so kann ein Benutzer eine Taste drücken, wenn er den Beginn der erforderlichen Aktion sieht, und eine andere, wenn die Sequenz beendet ist und diesen Teil des Videos haben als neues, kleineres, genaueres Video der Sequenz gespeichert.
Der folgende Code wird in dem Webcam-Frame für Frame lesen, um den Rahmen drehen, bevor zu einem Video zu schreiben, bis der Benutzer trifft die
q
Taste auf ihrer Tastatur.
Wie würde ich den Benutzer sicherzustellen, könnte der Strom von Rahmen zusehen, wie sie hereinkommen, dann, wenn sie die Veranstaltung sehen sie daran interessiert sind, sie die VideoWriter umschalten starten diese Bilder auf die Festplatte zu schreiben, sondern der Betreiber wouldn‘ t müssen zu treffen ständig einen Schlüssel jeden Frame zum VideoWriter zu senden und wenn der Bediener das Ereignis sieht, ist über sie die VideoWriter deaktivieren können wieder
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)
# write the flipped frame
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
ich weiß, seine möglichen Mausaktionen zu erfassen, aber ich bin mit der linken Maustaste in das denken nach unten Aktion korrigieren als Toggle verwendet werden könnte, so dass, während, solange die Maustaste gehalten wird, die Frames würden in ein neues Video geschrieben werden und wenn es freigegeben wird bedeutet es, die Aufnahme zu stoppen, aber die Wiedergabe http: // opencv-pyth fortzusetzen on-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_mouse_handling/py_mouse_handling.html – mobcdi