C# + DirectShow.NET = простой доступ к веб-камере?

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

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

Это может быть просто ответить, если вы знаете свой путь вокруг DirectShow.NET.

3 ответов


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

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


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


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