Python opencv 安全摄像头 window 崩溃

Python opencv security camera window crashs

我正在尝试用 python 使用 opencv 库编写一个程序来创建一个检测面部和动作的安全摄像头。

代码:

import cv2
import time
import datetime

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

while True:
    _, frame = cap.read()

    cv2.imshow("Security Camera", frame)

    if cv2.waitKey(1) == ord('q'):
        break
    
    cap.release()
    cv2.destroyAllWindows()

当我尝试 运行 代码时,我在相机 window 打开并在一秒钟内崩溃后收到此错误消息:

错误信息:

C:/Users/DELL/AppData/Local/Programs/Python/Python39/python.exe e:/coding/python/cv2-sec/main.py Traceback (most recent call last):
File "e:\coding\python\cv2-sec\main.py", line 10, in cv2.imshow("Security Camera", frame) cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-sn_xpupm\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

我尝试了所有可用的在线解决方案,但没有成功。 如果可能请支持。 谢谢。

试试这个:

import cv2

cap = cv2.VideoCapture(0)
cap.set(3,640) # Width
cap.set(4,480) # Height

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

    cv2.imshow('video',img)

    if cv2.waitKey(1) == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()