C# + DirectShow.NET = Simple WebCam access?

与世无争的帅哥 提交于 2019-12-17 10:46:48

问题


I have found an example for accessing a webcam in C#. The example uses the DirectShow.NET library. I have tried to understand the code, but so far the only thing I could figure out is that somehow the usercontrol calls directshow to draw directly to the surface of the user control.

I want to access each frame and put it into a Bitmap object. How can I tell when a new frame arrived? How can I capture this new frame into a Bitmap Object?

This might be simple to answer if you know your way around DirectShow.NET.


回答1:


You will need to use the ISampleGrabber interface there are many c++ examples on the net on how to use it, it will give you data the in RGB raw format which you can feed into the Bitmap class.

There is also an open source library called Touchless it has a project in code which takes a web cam and give you a callback every time a new frame arrived.




回答2:


Be sure to take a look at this article - http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library ; it is based on Touchless WebCam capturing component (but without other parts from Touchless SDK).




回答3:


If you found Touchless useful, but would like to use the latest DirectX SDK, try getting the latest source after change 31008 at http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx



来源:https://stackoverflow.com/questions/833724/c-sharp-directshow-net-simple-webcam-access

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!