2013-06-17 2 views
0

Я использую opencv на ubuntu на beaglebone black. У меня есть USB-камера, подключенная к кости бигла через USB-концентратор. Когда я пытаюсь запустить свою программу, я получаю непрерывные ошибки «Select Timeout». Я включил модуль следов в соответствии с: this suggestion и это дает мнеuvcvideo: Маркировка буфера как плохая (бит ошибки установлен)

uvcvideo:Dropping payload (out of sync) 
uvcvideo:Marking buffer as bad (error bit set) 

снова и снова. I думаю, что «понижающая полезная нагрузка» не такая большая сделка, потому что она дает мне ту же ошибку, когда я запускаю ее на своем ноутбуке, и это работает нормально. Но ошибка буфера является исключительной для beaglebone, и я понятия не имею, что с этим делать. Любые идеи были бы замечательными.

ответ

2

У меня была такая же проблема, и такой же журнал ошибок в dmesg. Я думаю, что требуется установить размер захвата (т. Е. CV_CAP_PROP_FRAME_WIDTH и CV_CAP_PROP_FRAME_WIDTH) для соответствующего значения для вашей камеры.

После нескольких экспериментов, это работало для меня на BeagleBone черный с Logitech HD Webcam C525:

#! /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 

Я не уверен, если это необходимо, но я также предварительно сконфигурирован камеру:

[email protected]:~# v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=1 
+0

Отлично! Вы помогли сделать мой Logitech HD Webcam C525 с моим дистрибутивом BeagleBone и Angstrom Linux. 'options uvcvideo nodrop = 1 timeout = 6000' в файле /etc/modprobe.d/uvcvideo.conf и размером изображения 1280 x 720. Не нужно вызывать v4l2-ctl для установки параметров раньше. Благодаря! –

+0

Ну, просто сделал несколько тестов и на самом деле просто используя размер изображения 1280 x 720 делает трюк! Нет необходимости в параметрах модуля ... –