首页 > 解决方案 > 简单的 OpenCV 测试只显示第一帧

问题描述

这个简单的 python 脚本应该持续显示网络摄像头视频,但它只显示第一帧。

import cv2

print('cv2 version is ' + str(cv2.getVersionString()))


def capture_config(camera_port=0):
    frame_height = 480
    frame_width = 640

    cap = cv2.VideoCapture(camera_port)
    cap.set(3, frame_width)
    cap.set(4, frame_height)
    if not cap.isOpened():
        print('Unable to read camera feed')
        return False
    return cap


cap = capture_config()
while cap:
    ret, frame = cap.read()
    cv2.imshow('captured frame', frame)
    if cv2.waitKey(0) & 0xff == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

输出是

cv2 version is 4.5.1

它在 ubuntu 20.03 和 python 3.8 上

脚本只显示第一帧的任何正当理由?

标签: pythonopencv

解决方案


推荐阅读