python - 当我尝试使用我的网络摄像头(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]
解决方案
当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()
,确保/检查它不是
推荐阅读
- jpa - JPA like-query,考虑语言环境
- javascript - ReactJS 为什么我的 DOM / `display` 只渲染 'display: none'?
- eiffel - Eiffel:呼叫使用过时的功能。调用功能“to_string_8”:改用“name_32”
- angularjs - Angularjs - 动态地将服务传递给指令
- hibernate - Spring Boot 2.1 - 不能使用 hbm2ddl.auto 创建表
- reactjs - 在 componentWillMount 中链接 api - 异步等待或承诺
- oracle - 在插入匹配语句之前或之后删除值的触发器
- angularjs - AngularJS 迁移到使用导入/导出
- php - simplexml_load_file():无法启用加密
- javascript - 如何将我的项目的最新版本推送到 repo?