首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uvcvideo :将缓冲区标记为“坏”(错误位设置)

uvcvideo :将缓冲区标记为“坏”(错误位设置)
EN

Stack Overflow用户
提问于 2013-06-17 19:59:15
回答 1查看 1.5K关注 0票数 0

我在beaglebone黑色的ubuntu上使用opencv。我有一个usb摄像头连接到比格骨通过USB集线器。当我尝试运行我的程序时,我会得到连续的“选择超时”错误。我启用了模块跟踪,如:this suggestion,它给了我

代码语言:javascript
复制
uvcvideo:Dropping payload (out of sync)
uvcvideo:Marking buffer as bad (error bit set)

一遍又一遍。我认为“下降的有效载荷”并不是什么大问题,因为当我在笔记本电脑上运行它时,它会给我带来同样的错误,而且运行得很好。但是缓冲器错误是beaglebone独有的,我不知道该如何处理它。任何想法都会很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-07 23:02:34

我遇到了同样的问题,在dmesg中也有相同的错误日志。我认为需要的是将捕获大小(即CV_CAP_PROP_FRAME_WIDTH和CV_CAP_PROP_FRAME_WIDTH)设置为相机的适当值。

经过一些实验,这对我的BeagleBone黑色与罗技高清网络摄像头C525:

代码语言:javascript
复制
#! /usr/bin/env python

import cv2
import sys


vc = cv2.VideoCapture(0)
vc.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,1280)
vc.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT,720)
if not vc.isOpened():
    sys.stderr.write('could not connect to camera! \n')
    sys.exit(1)

for count in range(0,5):
    success,frame = vc.read()
    if not success:
        sys.stderr.write('could not read image from cam \n')
        sys.exit(1)
    cv2.imwrite('capture_%02d.png' % count,frame)



vc.release()
vc = None

我不确定是否需要它,但我也预先配置了相机:

代码语言:javascript
复制
root@beaglebone:~#  v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17155738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档