2016-04-30 15 views
0

Ich versuche, die Webcam zu starten und ein Bild aufzunehmen Python verwendet, um ich den folgenden CodeStarten Webcam und Aufnehmen eines Bildes mit Python

import cv as cv2 
cv2.namedWindow("preview") 
vc = cv2.VideoCapture(0) 

if vc.isOpened(): # try to get the first frame 
    rval, frame = vc.read() 
else: 
    rval = False 

while rval: 
    cv2.imshow("preview", frame) 
    rval, frame = vc.read() 
    key = cv2.waitKey(20) 
    if key == 27: # exit on ESC 
     break 
cv2.VideoCapture.open(0) 

cv2.destroyWindow("preview") 

Das die Kamera startet und schließt, wenn Esc gedrückt wird aber nicht erfassen ein Bild. Gibt es einen Befehl, den ich vermisse, um das Bild zu erfassen?

+0

Möchten Sie das Bild erfassen und in einer Datei speichern? –

+0

natürlich ist es Capturen. –

+0

Ihr Python-Skript hat einen kleinen Einrückungsfehler. Repariere es. –

Antwort

0

Dieser Code würde funktionieren, ich habe einfach cv2.imwrite hinzugefügt und speichern Sie den Rahmen, den Sie bereits verwenden. Der Befehl schreibt das Bild, wenn Sie entkommen drücken:

import cv2 
cv2.namedWindow("preview") 
vc = cv2.VideoCapture(0) 

if vc.isOpened(): # try to get the first frame 
    rval, frame = vc.read() 
else: 
    rval = False 

while rval: 
    cv2.imshow("preview", frame) 
    rval, frame = vc.read() 
    key = cv2.waitKey(20) 
    if key == 27: # exit on ESC 
     cv2.imwrite("image.png", frame) 
     break 

cv2.destroyWindow("preview") 

[Edit:] Stellen Sie sicher, cv2 verwenden und nicht cv, ich habe Ihre Import-Anweisung korrigiert. Welche Version von OpenCV verwenden Sie?

+0

Vielen Dank! :) Dieser Code hat für mich funktioniert –