我找到了example来访问C#中的网络摄像头。该示例使用DirectShow.NET库。我试图理解代码,但到目前为止我唯一可以理解的是,usercontrol不知何故调用directshow直接绘制到用户控件的表面。
我想访问每个帧并将其放入Bitmap对象中。如何判断新帧何时到达?如何将这个新帧捕获到位图对象中?
如果您了解DirectShow.NET的方法,这可能很容易回答。
答案 0 :(得分:5)
您将需要使用ISampleGrabber界面,网上有许多关于如何使用它的c ++示例,它将为您提供RGB原始格式的数据,您可以将其输入Bitmap类。
还有一个名为Touchless的开源库,它在代码中有一个项目,它接受一个网络摄像头,并在每次新帧到达时给你一个回调。
答案 1 :(得分:4)
请务必查看这篇文章 - http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library;它基于Touchless WebCam捕获组件(但没有Touchless SDK的其他部分)。
答案 2 :(得分:0)
如果您发现Touchless很有用,但想使用最新的DirectX SDK,请尝试在http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx更改31008后获取最新的来源