我找到了示例,用于在C#中访问网络摄像头。该示例使用 DirectShow.NET 库。我试图理解代码,但到目前为止我唯一可以理解的是,usercontrol不知何故调用directshow直接绘制到用户控件的表面。

我想访问每个帧并将其放入Bitmap对象中。如何判断新帧何时到达?如何将这个新帧捕获到位图对象中?

如果您了解DirectShow.NET的方法,这可能很容易回答。

有帮助吗?

解决方案

您需要使用 ISampleGrabber 界面网上有很多关于如何使用它的c ++示例,它将为您提供RGB原始格式的数据,您可以将其输入到Bitmap类中。

还有一个名为 Touchless 的开源库,它有一个带代码的项目代码每次新帧到达时都会给你一个回调。

其他提示

请务必查看这篇文章 - http:// www.codeproject.com/Articles/125478/Versatile-WebCam-C-library ;它基于Touchless WebCam捕获组件(但没有Touchless SDK的其他部分)。

如果您发现Touchless很有用,但想使用最新的DirectX SDK,请尝试在 http://touchless.codeplex.com/SourceControl/ListDownloadableCommits.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top