首页 > 解决方案 > 当我尝试使用我的网络摄像头(python)时出错

问题描述

所以,我在一个面部检测项目中使用了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]

这是代码: 在此处输入图像描述 谢谢!

标签: pythonopencvwebcamvideo-capture

解决方案


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:frame调用时为空cv2.cvtColor(),确保/检查它不是


推荐阅读