【问题标题】:Error when I try to use my webcam (python)当我尝试使用我的网络摄像头(python)时出错
【发布时间】:2020-06-01 14:18:32
【问题描述】:
所以,我在一个人脸检测项目中使用了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]
这是代码:
谢谢!
【问题讨论】:
标签:
python
opencv
webcam
video-capture
【解决方案1】:
当frame 为空 = 未捕获图像时会发生此错误。在使用video_capture.read() 之前,您没有检查video_capture 是否正确打开。尝试检查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:调用cv2.cvtColor() 时frame 为空,确保/检查它不是