UVC设备,全称是USB Video Class。在C++时代,可以借助API等底层技术进行控制。但是在C#里,要很好的实现UVC设备的控制,读取,设置,则难上加难。一方面是由于C#本身抽象层级比较高,另外一方面,UVC技术比较底层,和硬件相关。而.NETFramework又没有提供相关的类支持,因此要在C#中实现UVC控制,需要借助些第三方类库。
这里介绍一款类库SDK,SharpCamera。它支持市面上99.99%的UVC摄像头和设备。能够对摄像头的很多参数进行设置,比如亮度、对比度、饱和度、清晰度、色调、倾斜、曝光等。那么这个类库相对于鼎鼎大名的AForge类库,有什么样子的优点呢?
我们知道,开源类库有一个Aforge,能够实现类似的功能,但SharpCamera相较于Aforge,具有以下无可比拟的优点:
1、AForge庞大,外文,帮助资料很分散,比较少;而SharpCamera具有大量资料和MSDN风格的API手册,且都是中文的。
2、AForge重在智能、识别方面,但对数据采集方面比较弱,采集的参数比较少;SharpCamera重在采集和参数调整和控制;
3、Aforge虽然能对一些参数进行控制,但是它的速度却很慢,从设置到生效,通常需要2秒到3秒,而SharpCamera为毫秒级,几乎是设置完立即就生效。
4、Aforge是开源类库,没有技术支持,出了问题,大家都懂的,没处说理去,不过Aforge的好处是免费,如果只是随便用一用,那Aforge适合;但对于重要的商用项目,还是SharpCamera,收费的,但是有完备的技术支持。
5、SharpCamera很轻量级,总共只有几MB,不需要安装和注册,引用就可以了。
6、Aforge难以对多个摄像头同时控制和操纵,SharpCamara却轻松应对。
如果要了解更多,可以点击:前往SharpCamera官网