启动网络摄像头并使用 python 捕获图像

Launching webcam and capturing an image using python

我正在尝试启动网络摄像头并使用 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")

这将启动相机并在按下 Esc 时关闭但不捕获图像。是否缺少捕获图像的命令?

这段代码可以工作,我只是添加了 cv2.imwrite 并保存了您已经在使用的框架。如果您按转义键,该命令将写入图像:

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")

[编辑:] 确保您使用的是 cv2 而不是 cv,我已经更正了您的导入语句。您使用的是什么版本的 OpenCV?