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

尝试使用网络摄像头时出错(python),python,opencv,webcam,video-capture,Python,Opencv,Webcam,Video Capture,因此,我在面部检测项目中使用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 h

因此,我在面部检测项目中使用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]

代码如下:
谢谢大家!

为空=未捕获图像时,会发生此错误。在使用
video\u capture.read()
之前,您没有检查是否正确打开了
video\u capture
。尝试检查
read()
是否返回帧:

。。。
retval,frame=video_capture.read()
如果(!retval):
打印(“捕获帧时出错”)
继续循环,直到retval为真
灰色=cv2.CVT颜色(边框,cv2.COLOR\u BGR2GRAY)
...
问题可能有更多原因:

  • 摄像机没有反应
  • 有更多摄像头,您初始化了错误的摄像头id
  • 相机速度慢,前几帧为空/未读取
您可以通过将
cv2.imread()
之前的
cv2.cvtColor()
图片加载到帧中并对其进行处理来确定它是否是有故障的摄像头,如果它工作正常,然后尝试对
视频捕获
初始化和摄像头进行故障排除


TL;DR:
frame
在调用
cv2.cvtColor()
时为空,请确保/检查它是否为空当
frame
为空=未捕获图像时,会发生此错误。在使用
video\u capture.read()
之前,您没有检查是否正确打开了
video\u capture
。尝试检查
read()
是否返回帧:

。。。
retval,frame=video_capture.read()
如果(!retval):
打印(“捕获帧时出错”)
继续循环,直到retval为真
灰色=cv2.CVT颜色(边框,cv2.COLOR\u BGR2GRAY)
...
问题可能有更多原因:

  • 摄像机没有反应
  • 有更多摄像头,您初始化了错误的摄像头id
  • 相机速度慢,前几帧为空/未读取
您可以通过将
cv2.imread()
之前的
cv2.cvtColor()
图片加载到帧中并对其进行处理来确定它是否是有故障的摄像头,如果它工作正常,然后尝试对
视频捕获
初始化和摄像头进行故障排除


TL;DR:
frame
在调用
cv2.cvtColor()
时为空,请确保/检查它是否为空

检查大小写如何?看起来很有帮助。我已经读过这篇文章了,但它对我没有帮助。检查一下箱子怎么样?看起来很有帮助。我已经读过这篇文章了,但对我没有帮助。