WIA(Windows Image Acquisition)是一個圖形處理軟件,也是微軟操作系統的影像獲取體系結構,屬于Windows操作系統驅動程序類。
主要功能
Windows圖像采集
Windows圖像采集(WIA)是最新imaging技術,在WindowsMillenniumEdition中引入,包含在更高版本的MicrosoftWindows操作系統中(例如Windows XP,注意WinNT3,WinNT4和Windows 2000不支持WIA)。WIA提供廣泛的支持以啟用imaging設備,如掃描儀和數碼相機,以與圖像應用程序(例如,MicrosoftPicture2000和Adobe Photoshop)對接。
WIA之前的成像設備行業標準是TWAIN標準。
使用WIA,制造商只需要寫WIAmicrodriver以允許設備使用。這類似于打印制造商提供minidriver,而其他WIA組件由操作系統實現。
使用WIA,獨立硬件供應商(IHV)可集中編寫代碼以提高設備功能。
WIA和TWAIN的關系是,WIA是微軟操作系統的影像獲取體系結構,屬于Windows操作系統驅動程序類;而TWAIN是開放協議,用來解決應用軟件對不同影像外設的可移植性調用。應當說,WIA是驅動層上的東西,它為應用程序提供SDK接口;而TWAIN協議在驅動程序和應用程序間提供一個公用接口。TWAIN的層次高于WIA。
關于WIA
WIA是WindowsImageAcquisition的簡稱,當前可用版本是WIA1.0,它是WindowsMillenniumEdition(Windows ME)或者更高版本的Windows系統中提供的數字圖像獲取服務,同時它也能用于管理數字圖像設備。
WIA接口既是應用程序接口(WIAAPI),又是設備驅動程序接口(WIADDI),下面要講述的都是有關WIAAPI的內容。
通過WIAAPI,應用程序可以:
運行在強壯穩定的環境中;
最大可能地減少協同配合問題;
枚舉可用的圖像獲取設備;
同時連接多個設備;
用標準的、可擴展的方式查詢設備屬性;
用標準的、高性能的傳送機制獲取數據;
在數據傳送過程中維持圖像屬性;
獲取大量的設備事件通知消息。
WIA架構
WIA是使用進程外(Outofprocess)服務實現的COM組件,和大多數進程外服務程序不同的是,WIA通過提供自己的數據傳送機制(IWiaDataTransfer接口),避免了圖像數據傳送過程中的性能損失。高性能的IWiaDataTransfer接口使用共享內存來傳送數據給客戶程序。
WIA有三個主要的組件:DeviceManager,MinidriverServiceLibrary和DeviceMinidriver。
DeviceManager:枚舉圖像設備,獲取設備屬,為設備建立事件和創建設備對象;
MinidriverServiceLibrary:執行所有設備無關的服務;
DeviceMinidriver解釋映射:WIA屬性和命令到特定的設備。
工業無線網絡WIA
簡介
工業無線網絡WIA(WirelessNetworksforIndustrialAutomation)技術是由中科院沈陽自動化所推出的具有自主知識產權的高可靠、超低功耗的智能多跳無線傳感器網絡技術,該技術提供一種自組織、自治愈的智能Mesh網絡路由機制,能夠針對應用條件和環境的動態變化,保持網絡性能的高可靠性和強穩定性。
工業無線網絡WIA技術基于短程無線通信IEEE802.15.4標準,使用符合中國無線委會規定的自由頻帶,解決工廠環境下遍布的各種大型器械、金屬管道等對無線信號的反射、散射造成的多徑效應,以及馬達、器械運轉時產生電磁噪聲對無線通信的干擾,提供能夠滿足工業應用需求的高可靠、實時無線通信服務。
通過使用工業無線網絡WIA技術,用戶可以以較低的投資和使用成本實現對工業全流程的“泛在感知”,獲取傳統由于成本原因無法在線監測的重要工業過程參數,并以此為基礎實施優化控制,來達到提高產品質量和節能降耗的目標。
工業無線網絡WIA技術主要應用于石油、石化、冶金、環保、污水處理等領域。
技術體系
工業無線網絡WIA技術體系是由中國工業無線聯盟推出的具有自主知識產權的技術體系,形成了國家標準草案,并與WirelessHART、ISA100并列為主流的工業無線技術體系。
WIA網絡采用星型和Mesh結合的兩層網絡拓撲結構。第一層是Mesh結構,由網關設備及路由設備構成;第二層是星型結構,由路由設備及終端設備或手持設備構成。
網關:負責WIA網絡與工廠內的其它網絡的協議轉換與數據映射;
冗余網關:負責網關的熱備份;
網絡管理者:負責構建由路由設備構成的Mesh網絡;監測全網性能;
安全管理者:負責路由設備及終端設備的密鑰管理與安全認證;
WIA網絡的協議棧結構遵循ISO/OSI的層次結構,但只定義了物理層、數據鏈路層、網絡層、應用層。
WIA協議棧由協議層實體,包括數據鏈路層、網絡層、應用層(由應用支持子層、用戶應用進程、設備管理應用進程構成)、功能模塊及層實體間的數據接口和管理接口構成。數據鏈路層、網絡層和應用支持子層包含的功能模塊有:數據實體和管理實體。用戶應用進程包含的功能模塊是多個用戶應用對象。設備管理應用進程包含的功能模塊有:設備管理模塊、網絡管理模塊、安全管理模塊、網絡管理代理模塊、安全管理代理模塊、管理信息庫。
技術特征
WIA網絡采用了以下措施保障工業環境中無線通信的高可靠性:
1)TDMA避免了報文沖突
系統產用全網TDMA模式,并且全網的時間同步精度達到微秒級。
2)跳頻通信方式提高了點到點通信的抗干擾能力
WIA技術使用多信道進行通信,通過TDMA/CSMA混合接入模式支持周期性和非周期性通信負載,在DSSS的基礎上引入FHSS的思想,采用根據信道狀態自適應跳頻機制,可以有效地抑制突發性干擾,消除頻率選擇性衰減。
3)自動請求重傳保證了報文傳輸的成功率
WIA技術在鏈路層采用自動請求重傳機制,保證了點到點的報文傳輸成功率,在應用層采用面向連接的(connection-oriented)數據傳輸技術,通過端到端的重傳機制保證數據傳輸的高可靠性。
4)Mesh路由提高了端到端通信的可靠性
WIA技術在網絡層采用智能的Mesh網絡技術。每個設備至少有兩條可用的通信路徑,設備加入網絡后,可以自主選擇或由網絡管理者分配多條數據傳輸路徑。當一條路徑由于干擾被中斷,設備可以自動切換到其它通信質量較好的路徑。
5)設備冗余提高了系統的魯棒性。
技術優勢
WIA技術與國外同類技術相比較具有的技術優勢主要有以下幾點:
1)分層的組織模式,對網絡拓撲的維護更加靈活、快速;
2)自適應的跳頻模式與自動重傳機制,對保障通信的可靠性更加有效;
3)支持網內報文聚合,有效地降低了網絡開銷,延長電池壽命;
4)兼容IEEE802.15.4標準,可以使用現有商用器件,易于實現;
5)兼容無線HART標準,支持HART命令,很容易升級傳統儀表,為其增添無線通信功能;
6)用戶可以方便地使用、管理,無需較高的專業知識。
操作指南
1.選擇設備
應用程序既可以用WIA內置的對話框來選擇設備,也可以不使用WIA的用戶界面。
下面的程序將彈出一個WIA選擇設備對話框:
2.獲取圖像到文件中
由于IWiaDevMgr::GetImageDlg()是以圖片文件的形式返回數據的,有的時候并不能滿足我們的需要,這時候我們就需要使用IWiaDataTransfer接口來傳送圖片。
3.獲取內存中的圖像數據
可以用IWiaDataTransfer接口來傳送數據
使用WIA
1.選擇設備
應用程序既可以用WIA內置的對話框來選擇設備,也可以不使用WIA的用戶界面。
下面的程序將彈出一個WIA選擇設備對話框:
2.獲取圖像到文件中WIA獲取圖像非常簡單,直接調用IWiaDevMgr::GetImageDlg(),它集成了SelectDevice和SelectImage對話框,在傳送圖像的時候還會自動出現一個進度指示對話框,下面是一個例子:
3.獲取內存中的圖像數據在IWiaDevMgr::SelectDeviceDlg()之后,可以用它返回的RootItem對象的IWiaItem::DeviceDlg()方法顯示一個對話框瀏覽WIA設備中圖片,請看下面的例子:
IWiaItem::DeviceDlg()返回選取的圖片總數和每個圖片的WiaItem指針,我們可以用用IWiaDataTransfer接口來傳送圖片。在傳送每個WiaItem數據之前,應該先調用IID_IWiaPropertyStorage接口設置相應的屬性:
如果用IWiaDataTransfer接口傳送數據,我們還需要自己寫代碼實現IWiaDataCallback接口,其中在我們的IWiaDataCallback::BandedDataCallback()中可以接收到數據,例如:
然后,我們就可以用IWiaDataTransfer接口來傳送數據了:
三、后話
WIA1.0在MSDN的文檔地址是:MSDNLibrary->圖形和多媒體>Windows圖像獲取->WIA1.0。
另外,因為VisualC++6.0中沒有WIA庫,所以需要使用VisualStudioDoNET2002/2003編譯WIA程序。
后注
WIA是Windows ME及其以后的操作系統中提供的,Windows 98/2000均不支持WIA,因此需要在較新版本的MSDNLibrary中才有WIA文檔。
另外,因為VisualC++6.0中沒有WIA庫,所以需要使用VisualStudio2002/2003編譯WIA程序。
最后得提到的是WIA的架構主件主要有:
②File Explorer用戶界面
③WIA設備
④分類安裝程序
⑤腳本接口
⑥TWAIN數據源管理程序和兼容性驅動程序
⑦通用系統對話框對象
⑧設備對象
⑨WIA設備管理程序
參考資料 >