Auto-Capture eines Bildes aus einem Video in OpenCV mit Python

Ich versuche, einen Code zu entwickeln, der als Selbstauslöserkamera fungiert. Das Video würde im Fenster zu sehen sein und das Gesicht und die Augen der Person würden kontinuierlich erfasst und sobald der Benutzer eine bestimmte Zeit auswählt, wird das Bild zu diesem Zeitpunkt erfasst. Ich kann das Bild nach einer bestimmten Zeit mit der Sleep-Funktion im Zeitmodul aufnehmen, aber das Videobild scheint einzufrieren. Gibt es eine solche Lösung, dass ich das Video weiterhin sehen kann und die Videoaufnahme nach einiger Verzögerung automatisch erfolgt.

Ich benutze den Code-

import numpy as np
import cv2
import time
import cv2.cv as cv
cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

# Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# Display the resulting frame
    cv2.imshow('frame',frame)

#time.sleep(01)
    Capture = cv.CaptureFromCAM(0)
    time.sleep(5)
    ret, frame = cap.read()
    image = cv.QueryFrame(Capture) #here you have an IplImage
    imgarray = np.asarray(image[:,:]) #this is the way I use to convert it to numpy array

    cv2.imshow('capImage', imgarray)
    cv2.waitKey(0)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

Kann mir jemand einen Vorschlag machen? Jede Art von Hilfe wäre dankbar.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage