roboforum.ru

Технический форум по робототехнике.

Совместная работа двух камер

=DeaD= » 06 май 2006, 19:37

Решил купить вторую веб-камеру вслепую (такую же, как и первую), запарился перерывать интернет - всё равно ничего внятного не пишут.

Если у кого есть хоть какой-то опыт одновременного подключения двух веб-камер к компьютеру - прошу поделиться!

EdGull » 06 май 2006, 22:12

а в чем собственно проблема при подключении?
втыкаешь хоть в usb хоть в pci, выбираешь источник и вперед.
или я чего-то не понимаю?

=DeaD= » 07 май 2006, 18:35

EdGull писал(а):а в чем собственно проблема при подключении?
втыкаешь хоть в usb хоть в pci, выбираешь источник и вперед.
или я чего-то не понимаю?

Нет теоретически конечно всё так, только вот в интернете, если пошариться, встречаются масса сообщений типа "чего за ерунда, почему у меня две камеры не хотят запускаться?" или "выяснил, что эти камеры могут работать вместе только с суммарным FPS не более NNN". А в остальном всё красиво...

PS: Вы считаете, разработчики драйверов для веб-камер тестировали их в сдвоенном режиме на корректность работы? :)

EdGull » 07 май 2006, 21:22

чего за ерунда, почему у меня две камеры не хотят запускаться?

думаю это проблемы конкретного софта.
выяснил, что эти камеры могут работать вместе только с суммарным FPS не более NNN

это верно когда на один видеоАЦП заводят несколько камер, если взять например четырех чиповую плату да еще и с аппаратным кодером чтоб PCI не захлебнулся, то все будет кучеряво.
Вы считаете, разработчики драйверов для веб-камер тестировали их в сдвоенном режиме на корректность работы?

на самом деле все намного проще, в винде любая камера есть TWAIN устройство, теоретически их может быть очень много. Друг к другу они никакого отношения не имеют если дрова на похожие камеры не конфликтуют. Здесь получается вроде того когда в системе стоит например несколько винтов.

=DeaD= » 08 май 2006, 12:51

EdGull писал(а):
выяснил, что эти камеры могут работать вместе только с суммарным FPS не более NNN

это верно когда на один видеоАЦП заводят несколько камер, если взять например четырех чиповую плату да еще и с аппаратным кодером чтоб PCI не захлебнулся, то все будет кучеряво.

Нет, это конечно понятно, что если взять специализированное решение для систем видеонаблюдения, то всё будет ок. Но оно опять же к ноутбукам не подцеплябельно. А это большой минус. Так что будем пробовать с веб-камерами.

EdGull писал(а):
Вы считаете, разработчики драйверов для веб-камер тестировали их в сдвоенном режиме на корректность работы?

на самом деле все намного проще, в винде любая камера есть TWAIN устройство, теоретически их может быть очень много. Друг к другу они никакого отношения не имеют если дрова на похожие камеры не конфликтуют. Здесь получается вроде того когда в системе стоит например несколько винтов.

Это оно в теории так красиво. А я вот сейчас только что купил вторую камеру. И знаете что мне сказал их фирменный просмотрщик при попытке одновременно вывести изображение с двух камер? Сказал что не хватает пропускной способности USB-порта. И отправил меня курить :-(

Так что масса всяких нюансов может быть. Сегодня вечером через OpenCV попробую докопаться до изображений стерео.

EdGull » 08 май 2006, 17:17

Я так понимаю нот у тебя с USB 1.1 или того хуже с 1.0.
Мой товарищ приобрел недавно PCMCIA платку с USB 2.0 и 1394.
Так вот он теперь через 1394 делает захват с видеокамеры и через эту же платку по USB 2.0 сливает видео на винт. Все это вертится на Селероне 1200 и пинакле 9.1 и неодного пропущенного кадра.

А нельзя по очереди (но очень быстро) переключаться меджу камерами?

=DeaD= » 08 май 2006, 19:56

EdGull писал(а):Я так понимаю нот у тебя с USB 1.1 или того хуже с 1.0.

Нормальный у меня ноут (нечего про меня так плохо думать! :)). А тестировал я на компе обычном, он еще более нормальный :) оба USB 2.0. Это веб-камера USB 1.1 (опять же не подумал - остальным урок).

EdGull писал(а):Мой товарищ приобрел недавно PCMCIA платку с USB 2.0 и 1394.
Так вот он теперь через 1394 делает захват с видеокамеры и через эту же платку по USB 2.0 сливает видео на винт. Все это вертится на Селероне 1200 и пинакле 9.1 и неодного пропущенного кадра.

Как бы это вам сказать... даже если забыть про настолько же возможные проблемы со стерео (а они тут ой как вероятны - две такие карточки по любому не воткнуть, а одна может и заткнуться также как у меня USB-порт), даже в этом случае - это не то чтобы самое экономически вкусное решение.

EdGull писал(а):А нельзя по очереди (но очень быстро) переключаться между камерами?

Еще не пробовал. Но сильно "по быстрому" (то есть чтобы обеспечить хотя-бы >3fps на стерео) точно не получится, а медленно - неинтересно, хотя и гарантированно можно.

Видимо уже завтра продолжу эксперименты с парой веб-камер.

=DeaD= » 09 май 2006, 07:26

Значит, информация с фронтов :) две USB-камеры можно запустить одновременно, если воткнуть их в разные USB-контроллеры. На обычном ПК это традиционно контроллеры на заднюю и на переднюю панель, на мобильном ПК может потребоваться поставить дополнительный (второй) USB-контроллер в слот PCMCI.

=DeaD= » 09 май 2006, 12:24

Первый этап пройден, информацию с обоих камер удалось получить в свою программку, хотя и несколько специфичным образом.

Почему-то нормальная комбинация:

capture1 = cvCaptureFromCAM( 0 );
capture2 = cvCaptureFromCAM( 1 );


работать не хочет (вторая камера упорно не находится в таком варианте) и вместо неё приходится использовать несколько странную:

capture1 = cvCaptureFromCAM( 0 );
capture2 = cvCaptureFromCAM( 0 );


При этом при каждом запуске программы приходится в появляющемся окошке выбирать другую камеру, чем выбрана по умолчанию, тогда всё работает, иначе опять второй камеры не будет. Но это еще не самое неприятное - самое противное, это то, что камеры через раз меняются местами :) чтобы это не мешало работе видимо придется разбираться с проблемой уже сейчас. Нервные клетки не лишние :)
Вложения
stereo.jpg

lebaon » 09 май 2006, 13:17

дааа, лучше будет самому спаять,
и через плиски на нейросеть завести :twisted:

=DeaD= » 09 май 2006, 13:59

lebaon писал(а):дааа, лучше будет самому спаять,
и через плиски на нейросеть завести :twisted:

Вот как закончите это занимательное занятие - так, через пару-тройку лет, если повезет, и обсудим :twisted:

PS: А пока давайте по существу :)

Сергей Мальцев » 10 май 2006, 10:43

Может имеет смысл обратиться к DirectShow? По идее, с помощью нее можно разрулить проблему. Только разбираться прийдется.

Сергей Мальцев » 10 май 2006, 11:29

Еще можешь попробывать эту библитеку заюзать:
http://sourceforge.net/projects/vidcapture

Это оболочка над DirectShow, для работы с камерой.
Я ею пользовался, только для одной камеры, но много камер, она тоже долже поддерживать. Мне она вполне понравилась.

=DeaD= » 10 май 2006, 11:51

Сергей Мальцев писал(а):Еще можешь попробывать эту библитеку заюзать:
http://sourceforge.net/projects/vidcapture

Это оболочка над DirectShow, для работы с камерой.
Я ею пользовался, только для одной камеры, но много камер, она тоже долже поддерживать. Мне она вполне понравилась.

Ну нафиг, солянку еще делать из технологий. Взяли OpenCV - на ней и нужно всё делать. Будем еще копаться, должно же решение быть, не делали же для Grand Challenge ручной старт с выбором камеры :)

Сергей Мальцев » 10 май 2006, 12:44

=DeaD= писал(а):
Сергей Мальцев писал(а):Еще можешь попробывать эту библитеку заюзать:
http://sourceforge.net/projects/vidcapture

Это оболочка над DirectShow, для работы с камерой.
Я ею пользовался, только для одной камеры, но много камер, она тоже долже поддерживать. Мне она вполне понравилась.

Ну нафиг, солянку еще делать из технологий. Взяли OpenCV - на ней и нужно всё делать. Будем еще копаться, должно же решение быть, не делали же для Grand Challenge ручной старт с выбором камеры :)


Если есть проблемы, то почему бы и другие техногоии не использовать? Может выяснится, что OpenCV под работу с несколькими камерами вообще не заточена. Ничего плохого в использовании нескольких технологий не вижу. Во многих крупных проектах их как правило несколько.
Что касается Grand Challenge, то далеко не факт что люди там только OpenCV ограничивались.


cron
Rambler\'s Top100 Mail.ru counter