Microsoft提供了几种可以访问图像数据的API。
>吐温:用于从扫描仪等拍摄单张图像
WIA:这似乎已经退化为一个单一的图像编解码库。
> VfW:一个非常老的(Win16)API,它真正只能用于视频文件编码/解码,但是支持一些视频采集。
> DirectShow:以前部分在DirectX SDK中,目前在Platform SDK中。这是现在(一般)流媒体解决方案的地方。
> Windows Media / Media Foundation:这似乎更适合视频播放/重新编码。
>制造商特定库:Pylon / Halcon / Imaging Control / …
DirectShow具体:
要在Windows下创建图像采集设备,您必须提供实现流类接口(或更新的Avstream)的设备(驱动程序),或者必须编写必须添加到VideoInputCategory枚举器的usermode COM对象。
Avstream示例为实际的图像采集设备提供了一切。只有实际设备的下层才是真正的缺失。
如果您可以设计设备,您应该创建DCAM或UVC兼容。两者都有Windows提供的内置驱动程序。
如何编写软件源设备:
您必须创建一个DirectShow过滤器,它提供至少一个输出引脚,并在VideoInputCategory下注册。捕获应用程序可能需要某些应用程序需要的几个接口,但这些接口取决于应用程序本身。测试过滤器的简单应用程序是Plattform SDK中提供的GraphEdit和AMCap。
一些代码:
#include
#include
con