【问题标题】:Python opencv security camera window crashs [duplicate]Python opencv安全摄像头窗口崩溃[重复]
【发布时间】:2021-10-01 16:46:29
【问题描述】:

我正在尝试使用 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()

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

错误信息:

C:/Users/DELL/AppData/Local/Programs/Python/Python39/python.exe e:/coding/python/cv2-sec/main.py Traceback(最近一次调用最后一次):
文件“e:\coding\python\cv2-sec\main.py”,第 10 行,在 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\颜色.cpp:182: 错误:(-215:断言失败)!_src.empty()在函数中 'cv::cvtColor'

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

【问题讨论】:

  • 检查一次cap.isOpened() 并检查ret, frame = cap.read(); if not ret: break

标签: python opencv


【解决方案1】:

试试这个:

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

【讨论】:

  • 成功了!出了什么问题??
  • 这个问题明显是重复的,应该这样标记,但没有回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 2020-04-01
  • 1970-01-01
  • 2020-01-15
相关资源
最近更新 更多