Как читать ввод с веб-камеры в C ++? - PullRequest
7 голосов
/ 16 февраля 2009

возможно ли читать данные с универсальной веб-камеры в C ++, как если бы вы были из объекта потока? Существует ли общий API или стандарт, который работает со всеми веб-камерами?

Я говорю о C ++ в * nix среде.

Заранее спасибо.

Ответы [ 4 ]

9 голосов
/ 16 февраля 2009

Для Linux V4L . AFAIR, BSD использует ту же кодовую базу. Я не знаю о других ...

7 голосов
/ 16 февраля 2009

В Linux веб-камеры поддерживаются с помощью Video4Linux . Взгляните на API пользовательского пространства и Video4Linux введение .

1 голос
/ 16 февраля 2009

Вы можете проверить, совместимы ли веб-камеры с TWAIN, и использовать для этого их API.

0 голосов
/ 16 февраля 2009

Сначала выясните, транслирует ли веб-камера видео или нет? Обычно они транслируют видео на определенный порт. Затем вы можете открыть Socket в C ++ на этом порту и получить видеоданные. Большинство веб-камер должны быть в состоянии сделать это.

Главное здесь - вам нужно понять, какой формат видео использует веб-камера и как его обрабатывать. Помогут Silverlight или DirectX, так как они могут напрямую прослушивать определенный порт, но вы не упомянули, какую ОС вы используете.

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

...