我正在尝试找到从托管C#中的网络摄像头获取图像(仅图像,而不是视频流)的方法。 通常人们建议图书馆,但他们是旧的或商业的或gpl。
如何在没有第三方库的情况下从网络摄像头获取图像?
更新。:感谢Media Foundation,我将使用它。
答案 0 :(得分:2)
网络摄像头应该提供视频输入,而不是静止图像。因此,您可能感兴趣的原生API是用于视频捕获的API,即DirectShow和Media Foundation。
你最想要的是DirectShow,但它不适合与托管代码接口,所以你需要一个DirectShow.NET开源包装器。您通常会在那里开始视频流,一旦您拥有了良好的图像,就可以停止活动。
或者你可能会继续寻找一个随时可用的库,它可以为你提供上述功能。
DirectShow.NET示例之一可以满足您的需求。
DxSnap - 使用DirectShow从a的Still引脚拍摄快照 捕获设备。请注意,MS鼓励您使用WIA,但是如果 你想用DirectShow和C#做,这是怎么做的。
它提到了WIA,但是WIA API并非适用于所有(或任何最近的操作系统?)网络摄像头,WIA更像是扫描仪之类的设备。
其他API可能不太适合。
答案 1 :(得分:1)
我多年前写过这篇文章
VB.net中的http://www.vbforums.com/showthread.php?344471-Vb.Net-WebCam-Class-(ICam))
您可以轻松将其移植到c#?
答案 2 :(得分:1)