为什么我使用包销代码从网络摄像头获取图像而不是视频

why am I getting image instead of video from webcam using the underwritten code

我写的代码是-

import cv2

cap = cv2.VideoCapture(0)

while True:
    success, img = cap.read()

    cv2.imshow("Image", img)
    cv2.waitKey(0)

我应该更改什么以获得视频输出而不是图像 output.Please 帮助。(当前使用 pycharm)。每当我 运行它给出一些连续图片输出的代码。

cv2.waitKey(1)

你对 waitKey 的论点应该是 (1),而不是 (0)

根据 OpenCV 文档,视频捕获循环的一般形式应如下所示:

import cv2 as cv
cap = cv.VideoCapture(0)

if not cap.isOpened():
    print("Cannot open camera")
    exit()

while True:

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

    # if frame is read correctly ret is True
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break

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

    if cv.waitKey(1) == ord('q'):
        break

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

您的代码未按预期运行,因为您正在调用 cv.waitKey(0)。这将无限显示 window 直到任何按键。您应该改为调用 cv.waitKey(1),因为它会显示 1 毫秒的帧并继续下一帧。 ord('q') 的相等性检查允许循环到 break 当您仅按下 Q 键时。