我找到了一个在 C# 中访问网络摄像头的示例。该示例使用DirectShow.NET库。我试图理解代码,但到目前为止,我唯一能弄清楚的是用户控件以某种方式调用 directshow 以直接绘制到用户控件的表面。
我想访问每个帧并将其放入 Bitmap 对象中。如何判断新框架何时到达?如何将此新帧捕获到位图对象中?
如果您熟悉 DirectShow.NET,这可能很容易回答。
我找到了一个在 C# 中访问网络摄像头的示例。该示例使用DirectShow.NET库。我试图理解代码,但到目前为止,我唯一能弄清楚的是用户控件以某种方式调用 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更改 31008 后获取最新源