как захватить видео с веб-камеры в MJPG opencv

Я купил две камеры Genius facecam 1000x и пытаюсь для настройки стереокамеры v4l2-ctl выходы для камер следующие:

ioctl: VIDIOC_ENUM_FMT
    Index       : 0
    Type        : Video Capture
    Pixel Format: 'YUYV'
    Name        : YUYV 4:2:2

    Index       : 1
    Type        : Video Capture
    Pixel Format: 'MJPG' (compressed)
    Name        : Motion-JPEG

Как видите, формат пикселей MJPG поддерживается и из это и это этот формат пикселей необходим, но когда я пытаюсь захватить видео с обеих веб-камер ошибка VIDIOC_STREAMON: No space left on device все еще происходит для второй камеры, я могу получить только стереовидео с разрешением 320x240! Я пробовал следующие два, но у меня не работает:

  1. v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=1 
    
  2. Установка FOURCC в MJPG вызывает следующую ошибку:

    HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device
    

    # setting the `FOURCC` will cause the 
    # `HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device`
    for p in ports:
        self.caps.append(cv2.VideoCapture(p))
        self.caps[-1].set(cv2.cv.CV_CAP_PROP_FOURCC('M','J','P','G'));
    

Что я должен сделать, чтобы получить правильное разрешение с относительно хорошим разрешением?

P.S: Все мои USB-порты подключены к одному контроллеру!


person dariush    schedule 15.10.2016    source источник
comment
Я помню, как несколько лет назад мои коллеги работали над аналогичной проблемой для проприетарной камеры. Единственное, что я помню от них, это то, что они должны были установить драйвер для чтения фреймов в opencv. Надеюсь, поможет.   -  person saurabheights    schedule 15.10.2016