我想连接到 .NET 中的 USB 网络摄像头,特别是使用 C#。作为 .NET 的新手,我不知道标准库中有什么样的支持。我在网上找到了一个通过剪贴板复制位图的示例,但这看起来很笨拙(而且可能很慢)。有没有更好的办法?
6 回答
您将需要使用Windows 图像采集 (WIA)将网络摄像头与您的应用程序集成。有很多这样的现成的例子。这是一个带有源代码的C# 网络摄像头用户控件。
以下是希望解决与您相同的问题的人们的更多文章和博客文章:
有趣的旁注,Vista 不再支持 WIA 从网络摄像头进行捕获。他们主要针对扫描仪和从相机中提取静止图像。
此外,像罗技这样的大型制造商已经放弃了威亚对 DirectShow 的青睐。
这是一个很好的例子。它使用 DirectShow.Net ( http://directshownet.sourceforge.net/ ),这可能比使用“剪贴板”更好:D。
https://www.codeproject.com/Articles/18511/Webcam-using-DirectShow-NET
有一个与计算机视觉系统有关的功能包,称为 AForge。如果您仍在寻找,他们有一种简单的方法可以从 USB 摄像头获取网络摄像头图像。
只需查看计算机视觉运动传感器示例代码的示例代码即可。我相信你可以像我一样从中提取你需要的函数调用。
[对不起necro,但这可能对将来的某人有用]
在我的电脑上,WIA 非常缓慢……所以我决定尝试一下Windows Multimedia Video Capture。
你可以在这里找到一个演示。
It really depends on what you want to do. WIA is primarily for capturing stills from imaging devices, and DirectShow (used either through directshow.net or managed DirectX) is for access to fuller video features.
The other option is to create a WPF application. It has a huge amount of built in support for video (to the extent that having a looping video clip as a button is pretty trivial), and should be quick and easy to develop.