麒麟在线

当前位置:网站首页 / 技术 / 正文

TWAIN和WIA扫描驱动的区别

配置扫描仪时候发现好几个选项类型:TWAIN32和WIA。了解一下他们二者的相同和差异之处。


相似之处:

  1. 只要存在驱动程序,两者都能够从诸如扫描仪或相机之类的设备获取图像。

  2. 都是使用对话框获取图像。

  3. 以编程方式设置设备的属性,可以在不显示对话框的情况下通过编程获取图像。

  4. 并非每个设备都支持所有功能,因此您可以在设备上查询它支持的功能。

不同之处:

  1. 通常,当设备同时支持TWAIN和WIA时,TWAIN更适合扫描仪,而WIA更适合相机,网络摄像头等。这个在实际实验过程中可以参考。

  2. 对于像相机这样的设备,有时驱动程序实际上是WIA,但您可以通过“TWAIN compatibility layer”访问它。

  3. WIA为所有设备使用的都是通用的对话框,而TWAIN使用设备制造商创建的对话框。 可见,TWAIN的对话框将提供更多选项,能实现对设备的高级控制。

比如佳能的设备对话框

TWAIN和WIA扫描驱动的区别 技术 第1张

  1. TWAIN允许您使用设备制造商创建的自定义功能,即使TWAIN规范中不存在这些功能。

  2. TWAIN有三种传输模式(本地、缓存和文件模式),WIA只有两种(缓存和文件模式)。

  3. 大多数TWAIN能保存上一次扫描的设置,而WIA则没有。

  4. 在双面模式下扫描时,TWAIN支持对每页进行设置,但WIA对两页使用相同的设置。


下面是关于扫描协议的简单介绍:

TWAIN扫描协议,最初被用于Microsoft Windows和Apple Macintosh操作系统,并且从2.0版开始添加了Linux / Unix支持。 第一版发布于1992年。它被设计为图像处理软件与扫描仪或数码相机之间的接口。

TWAIN是文档扫描仪中最常用的协议和标准。 在大多数情况下,用户应该可以为他们的扫描仪找到免费的TWAIN驱动程序,或者可以从制造商的网站上轻松找到TWAIN驱动程序,比如佳能,惠普,爱普生,柯达,施乐等。TWAIN扫描协议具有三个关键要素:

  • Applictaion

  • Source Manager

  • Data Source (数据源)

TWAIN提供的Source Manager接口使您的应用程序可以控制Data Source,例如扫描仪和数码相机,并获取图像,如下图所示。

TWAIN和WIA扫描驱动的区别 技术 第2张

尽管几乎所有扫描仪都包含符合TWAIN标准的TWAIN驱动程序,但是每个TWAIN扫描仪驱动程序在实现扫描仪设置对话框、自定义功能和其他功能方面可能会略有不同。如果您使用特定扫描仪型号的功能,那没有问题,但是,如果您希望应用程序的扫描行为在不同的扫描仪上保持一致,则需要警惕自定义代码。

TWAIN标准现在正在演变为下一代——TWAIN direct。 TWAIN工作组声称,通过TWAIN direct将不再需要供应商提供特定的驱动程序。 该应用程序将能够直接与扫描设备进行通信。 (Dynamsoft是TWAIN工作组的成员之一。)目前TWAIN direct仍然在完善中。



WIA

WIA (Windows Image Acquisition)是自Window Me以来由Microsoft引入的,是Windows操作系统随附的驱动程序平台,包括Windows 7,Windows 8等。它使应用程序能够从各种数码相机和扫描仪获取图像。 听起来与TWAIN非常相似,不是吗?

只要安装了驱动程序,TWAIN和WIA都可以与扫描仪和照相机一起使用。 通常,如果您的应用程序大多数时候将要与扫描仪进行交互,尤其是在需要支持旧扫描仪的情况下,建议使用TWAIN。 对于相机,WIA提供更好的支持。 但是,有时基于TWAIN的应用程序可以通过“TWAIN compatibility layer”与WIA设备进行通信,例如扫描仪或照相机。

TWAIN和WIA之间还有其他区别。 TWAIN具有三种传输模式(native, memory, file),而WIA仅具有两种传输模式(memory, file)。 TWAIN使设备供应商可以为每个驱动程序创建自定义的用户界面。 WIA根据脚本对象模型对所有设备使用简化的用户界面。 如果只需要基本的扫描功能,则WIA就足够了。 如果您需要使用扫描仪的更高级功能,例如在双面模式下扫描每页时使用不同的选项,则应选择TWAIN。



另外还有几种扫描

ISIS

ISIS(Image and Scanner Interface Specification)是Pixel Translations(如今的EMC Captiva)在1990年开发的专有扫描仪接口。

与非营利组织制作的TWAIN不同,ISIS并非免费提供。 扫描仪供应商需要支付版权费才能使用ISIS驱动程序。 尽管ISIS最初是针对生产环境(更高的产量,支持高端扫描仪的高级功能)而设计的,但高昂的成本却使供应商望而却步。 因此,ISIS在企业中并不受欢迎。

此外,尽管ISIS在性能方面享有盛誉,但许多开发人员还声称,将ISIS与TWAIN进行比较时,没有发现明显的技术优势。

SANE

SANE (Scanner Access Now Easy) 是UNIX(包括GNU / Linux)中常用的应用程序编程接口(API)。 SANE是一个开源项目。 您可以从sane-project.org/source下载其源代码。

与TWAIN不同,SANE将用户界面(前端)与设备驱动程序(后端)分开。SANE driver只提供一个后端接口,通过硬件和使用多个“options”来驱动每次扫描。定义扫描区域的option示例如下所示,

TWAIN和WIA扫描驱动的区别 技术 第3张

这种分离的实现方式使SANE非常适合网络扫描方案,在该方案中,您将所有计算机都连接在LAN中,而扫描仪仅作为共享扫描仪连接到一台或两台计算机上。 此外,无需像使用TWAIN一样使用Win32或Mac API绑定特定的GUI,SANE易于实现一个由命令行驱动的界面。 另一方面,SANE确实有一些GUI,例如XSane,phpSANE等,您可以根据需要使用。 或者,您可以为一个扫描仪专门定制一个GUI。

下面看看四个驱动程序的比较表,总结了上面提到的内容。


TWAINWIAISISSANE
扫描功能✮✮✮✮✮✮✮✮✮✮✮✮✮✮✮✮
数码相机支持✮✮✮✮✮✮✮✮✮✮✮
操作系统支持Windows, Mac OS, Linux/UnixWindowsWindowsLinux/Unix
扫描仪市场份额✮✮✮✮✮✮✮✮✮✮✮✮✮
应用市场份额✮✮✮✮✮✮✮✮✮✮✮✮✮
价格免费免费昂贵免费且开源


TWAIN驱动程序在大多数情况下均具有优越性,因为它提供了与扫描仪的最大兼容性,并提供了根据扫描仪型号自定义扫描的自由。 如果您要构建一个简单的扫描应用程序,则WIA也可能适用。

ISIS仅在有特定要求的情况下才适用。 SANE为整个网络扫描以及没有Windows系统的系统提供了最佳支持。

推荐阅读

文章标签:

版权声明: 本文除特别说明外均由原创

本文链接: https://www.70ol.com/jishu/304.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!

分享本文: 请填写您的分享代码。

呃 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。