哪一个最适合我使用的.NET图像捕捉API?

问题描述:

我的任务是将图像采集集成到.NET应用程序中,我一直在寻找一个用于执行此功能的API。我遇到了几个“标准”API,其中一些已经存在了很长时间,有些还没有这么久。我查看了ISIS,TWAIN,WIA和SANE的参考资料(据说主要是* nix)。除了SANE之外,它们都是Win32库,我想知道当前推荐的图像采集设备(扫描仪)是什么?哪一个最适合我使用的.NET图像捕捉API?

随意推荐别的东西,如果你觉得它更好。 我正在寻找开源选项。

编辑: 我把开放源码,当我真正的意思是免费的。使用WIA或TWAIN是好的,因为它们是免费的,即使它们是专有接口。

如果您限制选择开放源代码,您将自己限制在SANE。我怀疑在设备支持和兼容性方面还有其他任何与SANE接近的开源库。也就是说,必须提及的是,与TWAIN和WIA等专有API相比,SANE在设备支持方面仍然相当差...

如果开放源代码不是必须有 - 那么选择取决于操作系统。 WIA将是Windows XP和更新版本的最佳解决方案,如果您需要支持Windows 2000或9x,TWAIN可能会更好(我认为TWAIN也应该是跨平台的,即使我没有任何证据现在)。与WIA相比,TWAIN API虽然(恕我直言)是可怕的过时,并且WIA对批量扫描(TWAIN留给设备制造商支持或不支持)等有更严格的要求。

+0

哦,并且考虑到你需要.NET API--图像获取API都在本机代码中,你一定需要一个托管包装器。 – 2010-03-23 18:00:56

+0

你应该考虑打开简历。这是一个非常完整的工具包,可能是为了满足当前的需求而过度使用,但它很棒。 [Emgu] [1]是一个.NET包装器。 [1]:http://www.emgu.com/wiki/index.php/Main_Page – Mikos 2010-03-23 18:52:11

+0

据我可以看到Open CV不是一个图像采集/捕获API ... – 2010-03-23 20:51:49

如果您的应用程序使用的是高端扫描仪,并且您需要编写一个应用程序以最大限度地提高扫描仪的吞吐量并利用这些扫描仪的所有高级功能,那么您需要查看基于ISIS的API 。我个人已经使用Captiva/EMC的PixTools SDK,并取得巨大成功,为大型扫描室建立应用程序。该工具包使得使用各种图像处理过滤器和软件即时清理扫描图像变得相当容易。我还能够轻松集成条形码和补丁码识别。该工具包价格昂贵 - 四年前约为6千美元。

但我怀疑你的应用程序不需要高端解决方案。在这种情况下,我认为你应该看看TWAIN。我从来没有尝试过,但我知道TWAIN很难与之合作。前一段时间,我发现在CodeProject上的一篇文章在这里笔者提出了一个TWAIN .NET包装:

.NET TWAIN image scanner

我用它打了一下,它似乎工作。在这里,我找到了一个线索,Luke Quinane根据这篇文章将读者引用到了他的Google Code项目中。这里的链接:

Twain Dot Net

如果你能忍受萨的设备支持,通过各种手段去用它,因为它是理智的,免费(开放),灵活。 Oersers将始终施加任意限制。

+1

这完全不可读。你可以使用ASCII字母吗? – Alexander 2015-03-24 20:49:51

+0

+和ð= th(冰岛语),s = s(古德语) – ygoe 2016-05-22 13:35:08

我建议你在大多数情况下使用TWAIN驱动程序,因为它提供了与扫描仪的最大兼容性,并且可以根据扫描仪型号*定制扫描。如果您正在构建简单的扫描应用程序,WIA可能也适用。对于ISIS,除非您有特定要求,否则您最好先检查其他选项。 SANE提供跨网络扫描的最佳支持,并且系统上没有Windows系统。