Как получить изображения веб-камеры в C #? - PullRequest
4 голосов
/ 21 мая 2010

Я работаю над проектом онлайн-видеоконференций в C # и .Net4.0.

Мне нужна библиотека или код, который я могу использовать для сбора изображений с веб-камеры в секунду в другой форме. Я пытаюсь сделать это, используя AVICAP32, в котором мы отправляем сообщения для различных целей, таких как копирование или редактирование кадров. Но в этом случае мы должны передать ссылку на изображение во время создания обработчика, как показано ниже:

mCapHwnd = capCreateCaptureWindowA("0", 268435456 | 1073741824, 0, 0, 640, 480,picturebox1.Handle.ToInt32(), 0);

Используя эти команды, я могу захватывать изображения, но проблема возникает, когда я минимизирую форму в картинках. В это время не создает новое изображение.

Я думаю, что это произошло, потому что я минимизирую форму, и когда он копирует изображение из этого буфера обмена, он ничего не показывает.

Как я могу решить эту проблему. Любая помощь будет оценена.

Спасибо srdusad

Ответы [ 3 ]

8 голосов
/ 25 мая 2010

Я сделал это, используя все упомянутые методы (WIA, AviCap и DirectShow). DirectShow - ваш лучший вариант. Проверьте бесплатную библиотеку DirectShowNet, которая является .NET-оболочкой для DirectShow, она даже включает примеры: http://directshownet.sourceforge.net/

ОБНОВЛЕНИЕ 2012-07-26: Я только что выпустил полный исходный код моего приложения для Windows CamTimer (написано на .NET / C #). Загрузите / просмотрите полный код (с работающими примерами веб-камеры) на https://github.com/johanssonrobotics/CamTimer

0 голосов
/ 04 июня 2010

Другой подход с использованием WIA http://www.codeproject.com/KB/cs/WebCamService.aspx

0 голосов
/ 21 мая 2010

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

...