C # + DirectShow.NET = Простой доступ к веб-камере? - PullRequest
6 голосов
/ 07 мая 2009

Я нашел пример для доступа к веб-камере в C #. В примере используется библиотека DirectShow.NET . Я пытался понять код, но пока единственное, что я мог понять, это то, что каким-то образом usercontrol вызывает directshow для рисования непосредственно на поверхность пользовательского элемента управления.

Я хочу получить доступ к каждому кадру и поместить его в растровый объект. Как я могу узнать, когда прибыл новый кадр? Как я могу захватить этот новый кадр в растровое изображение?

Ответ на этот вопрос может быть простым, если вы знакомы с DirectShow.NET.

Ответы [ 3 ]

5 голосов
/ 07 мая 2009

Вам нужно будет использовать интерфейс ISampleGrabber . В сети есть много примеров использования c ++, которые предоставят вам данные в необработанном формате RGB, которые вы можете передать в класс Bitmap.

Существует также библиотека с открытым исходным кодом под названием Touchless , в ней есть проект в коде, который берет веб-камеру и дает вам обратный вызов каждый раз, когда приходит новый кадр.

4 голосов
/ 09 ноября 2010

Обязательно ознакомьтесь с этой статьей - http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library; он основан на компоненте захвата Touchless WebCam (но без других компонентов из Touchless SDK).

0 голосов
/ 15 июня 2009

Если вы нашли Touchless полезным, но хотели бы использовать последний DirectX SDK, попробуйте получить последний источник после изменения 31008 на http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx

...