python - Raspberry Pi 4 - Raspbian Opencv Python 网络摄像头问题
问题描述
在 Rasberry Pi 4,我将使用 USB 网络摄像头进行图像处理。为此,我将 OpenCv 库添加到 Python。我用下面的代码做了最简单的视频处理。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
但是,在制作过程后会出现这样的错误。
select timeout
OpenCV Error: Assertion failed (total() == 0 || data != NULL) in Mat, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/core/include/opencv2/core/mat.inl.hpp, line 431
Traceback (most recent call last):
File "untitled.py", line 8, in <module>
ret, frame = cap.read()
cv2.error: /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/core/include/opencv2/core/mat.inl.hpp:431: error: (-215) total() == 0 || data != NULL in function Mat
我搜索了很多地方,都找不到答案。您认为问题的根源或根源是什么?
解决方案
虽然我找不到我提到的主题的解决方案,但我觉得有必要做出一些解释。首先,Raspberry pi 4 4GB 版本已经存在问题。这些问题是由内核错误引起的,以及下面的链接。
这个过程建议在树莓派上安装ubuntu系统。通过将 RAM 限制为 3072 可以解决这里的问题。但是,当我再次尝试时,他犯了同样的错误。
其次,我尝试了2GB版本的树莓派4,摄像头没有问题,问题就解决了。
我的理论是树莓派 4 的 4GB 版本的 USB 端口普遍存在问题,我向用户推荐 1GB 或 2GB 版本。
我希望他们尽快解决这个问题。祝大家工作顺利。
推荐阅读
- css - 如何在树的反应中连接圆圈
- javascript - React Context 可以用来提供闭包吗?
- html - 仅使用 css 缩放浏览器时使输入框宽度变小
- javascript - Firebase ServerValue.increment(1) 不适用于云功能
- java - 为什么一个简单的 hello world 程序不起作用 java(错误 java.lang.unsupportedclassversion)
- bash - 如何使用 bash 更改日志文件中的日期格式,避免 while 循环
- python-3.x - Altair 通过 binding_range 滑块为日期时间值选择和 transform_filter 似乎不适用于相等条件或选择器本身
- c# - 使用 C# 循环或迭代安全 Web 请求以从 ESRI 要素服务中检索所有记录
- postgresql - 跨多个版本升级 Thingsboard 数据库
- azure - 每当在同一组织内的任何订阅中创建新的 Azure 数据工厂实例时,如何设置电子邮件警报