3 Захват камеры с помощью видеовхода или чего-либо еще - PullRequest
4 голосов
/ 04 мая 2011

Я работаю над проектом по созданию видео в высоком динамическом диапазоне в режиме реального времени.Цель состоит в том, чтобы сделать это с помощью 3 готовых веб-камер (Microsoft LiveCam Studio).Я начал пытаться использовать OpenCV, но мне было трудно заставить его открывать камеры.Поэтому я прыгнул прямо на videoInput.Я могу заставить любые две камеры работать друг с другом.И я могу заставить любые две веб-камеры работать со встроенной веб-камерой на моем ноутбуке.Но если я попытаюсь запустить все три веб-камеры вместе, я получу

ОШИБКА: невозможно запустить график '

После нескольких часов исследования videoInput.cpp Я не могу понятьпочему не возникнет проблем с двумя камерами одинакового типа, но не получится, когда я добавлю третью.

Я думал, что почти достиг своего проекта, когда достиг этой неожиданной стены.

У вас есть какие-нибудь мысли по этому поводу?

Windows 7 (64)

Visual Studio 2011

Мне нужно синхронизировать кадр из всех трех камер.Я открыт для любых предложений о том, как это сделать.Есть ли какая-либо другая инфраструктура, которая позволит мне избежать DirectShow или MediaFoundation?У кого-нибудь есть код, который я могу посмотреть, который откроет несколько камер и вытянет кадры из потоков?

Ответы [ 2 ]

3 голосов
/ 05 мая 2011

Вероятно, что камеры подключаются только через DirectShow (по крайней мере, в Windows), я не знаю ни одного низкоуровневого API, предоставленного Microsoft, чтобы напрямую общаться с камерами.

Можете ли вы одновременно запустить 3 камеры с помощью обычного средства просмотра веб-камер?

Это может быть ограничение в DirectShow или пропускной способности USB - попробуйте подключить их к различным портам.

Даже в этом случае вы не сможете точно синхронизировать камеры с помощью DirectShow, время будет превышать интервал между кадрами (1/10 с?).

1 голос
/ 17 апреля 2012

Типичная проблема заключается в том, что пропускной способности USB недостаточно для двух камер, работающих одновременно, обе камеры работают нормально независимо, но как только вы попробуете их обе - у вас произойдет сбой.Другой, менее частой причиной является драйвер камеры.Возможно, вы можете попробовать его в режиме низкого разрешения - если эта попытка увенчается успехом, то наиболее вероятной является версия с недостаточной пропускной способностью.

Иногда вы можете решить проблему, подключив камеры к различным USB-хостам / контроллерам (непорты на одном хосте!).Сам API не ограничивает вас в использовании только одной камеры за раз.

...