OpenCV: как быть способным захватывать кадры с одной камеры с помощью двух разных приложений?

Итак, у меня есть 2 разных приложения, которые используют веб-камеры (в Windows), я создал их, но мне нужно, чтобы они были отдельными, автономными приложениями. Я хочу, чтобы они могли снимать с одной и той же камеры. Что я должен добавить к своему захватывающему коду OpenCV?

3 ответа

Решение

Ты не можешь Только одно приложение может получить доступ к любому устройству одновременно - даже с обычными устройствами ввода-вывода, такими как жесткие диски.

Если несколько приложений могут получить доступ к устройству одновременно, было бы запутано, чьи инструкции следовать.

Вы можете использовать SplitCam, хотя. Он подключится к веб-камере (и никакое другое приложение не может). Но это создаст виртуальные устройства, к которым могут подключаться другие приложения.

Используйте SplitCam.

Не уверен, но я думаю, что единственный способ - использовать COM (в Windows), потому что вы не можете создать два фильтра захвата для одного устройства. Но вы можете создать фильтр сплиттера, поместить его в граф DirectShow и предоставить к нему доступ через COM. Я не знаю, как это сделать, просто идея.

Другие вопросы по тегам