当我尝试使用网络摄像头(python)时出错

问题描述 投票:1回答:1

因此,我在面部检测项目中使用jupyter,并且在运行程序时出现此消息错误:

> (error: OpenCV(4.2.0)
> C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182:
> error: (-215:Assertion failed) !_src.empty() in function
> 'cv::cvtColor') [enter image description here][1]

这是代码:enter image description here谢谢!

python opencv webcam video-capture
1个回答
0
投票

frame为空=未捕获图像时发生此错误。在使用video_capture之前,您不检查video_capture.read()是否正确打开。尝试检查read()是否返回帧:

...
retval, frame = video_capture.read()
if (!retval):
   print("Error when capturing frame")
   continue # loop until retval is true

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
...

该问题可能有更多原因:

  • 相机没有响应
  • 有更多摄像机,并且您初始化了错误的摄像机ID
  • 相机速度慢,前几帧为空/未读取

您可以通过将cv2.imread()之前的cv2.cvtColor()的图片加载到帧中并进行处理来确定它是否是故障相机,如果可以,请尝试对video_capture初始化和相机进行故障排除。

TL; DR:调用framecv2.cvtColor()为空,请确保/检查它是否不是

© www.soinside.com 2019 - 2024. All rights reserved.