如何解决ARM AARCH64 内核 4 和 5:设置模式后,cv2 cap.read() 仅在 su
我正在使用运行 Debian (buster) 和内核 4 和 5 的 ARM AARCH64 CoB(机载计算机)。发生以下问题:
cap = cv2.VideoCapture(0)
cap.set(3,1920)
cap.set(4,1080)
while cap.isOpened():
ret,frame = cap.read()
...
如果代码在普通用户下执行,会打开捕获设备,正确设置视频模式,但是cap.read()
会导致读取超时(无法从摄像头读取) .
如果代码在 sudo 下执行(以 root 身份运行),那么 cap.read()
可以正常工作,并且我会以正确的模式(在本例中为全高清)获得帧。
如果我不设置模式 (cap.set(3,1920)
,cap.set(4,1080)
),那么它会读取在普通用户权限下运行的程序的帧,但以尽可能低的相机分辨率(sd 或 640x480)。
顺便说一下,cap.set(3,1920) 对应于 cap.set(cv2.CAP_PROP_FRAME_WIDTH,1920)
,而 cap.set(4,1080)
对应于 cap.set(cv2.CAP_PROP_FRAME_HEIGHT,1080)
。
video:x:44:user_name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。