張偉崗
(西安明德理工學院,陜西西安,710124)
目前國內視頻圖像采集、圖像匹配技術主要局限于視頻監控領域,缺乏圖像匹配處理功能,圖像采集與匹配處理系統普遍存在開發周期長、通用性不佳、圖像采集質量低難以辨認等問題,對圖像采集與匹配處理系統進行設計和優化,使其具備較高的性價比及通用性,實現視頻圖像的較高質量和效率的采集具有重要的現實意義。LabVIEW作為通用性較高的編程系統(附帶擴展庫函數),可同多種軟件交互調用,能夠提供廣泛的接口,并對專業數據采集和匹配處理擴展庫進行調用,將其應用到圖像采集系統,能夠有效解決采集圖片使用普通攝像機時存在畫面不清晰難以辨認等問題。
系統主要由上位機即測試用臺式工控機和下位機即外置USB 攝像頭的工控機,內置LabVIEW開發系統軟件的上位機功能在于顯示、拍照、視頻錄制、圖像匹配處理及保存等,下位機的功能在于實時采集現場場景等,系統總體架構如圖1所示。本文在設計圖像采集系統時,系統功能的編寫通過使用LabVIEW圖形化編程語言完成,視頻圖像的實時采集與錄制則通過使用USB攝像頭、NI-IMAQ及NI-IMAQdx完成,對實時視頻圖像進行匹配處理時通過動態鏈接庫的調用完成,實時圖像的增強處理則通過MATLAB圖像匹配處理算法的調用完成。

圖1 系統總體架構圖
該部分的實現步驟如下:(1)采集視頻圖像:程序指定了所有USB攝像頭的字符串數組,系統默認測試用USB攝像頭使用數組首個元素,通過IMAQdx Open Camera.vi 在函數面板中對Cam0進行連接及打開,在完成攝像頭配置文件的加載,接下來的配置并開始采集圖像借助IMAQdxCongigure Grab.vi實現,具體圖像采集過程中,輸出圖像當前幀使用IMAQdx Grab.vi獲取,然后對獲取圖像的子VI進行緩存空間設置,再對圖像所占的緩存空間進行釋放,完成采集后關閉USB攝像頭停止圖像獲取,最終通過Image Display控件將視頻圖像在前面板上展現。(2)拍照,通過IMAQ Write File.vi將視頻圖像按照選定格式寫入,本文選用 BMP類型的圖片格式,在File Path處完成路徑創建,實現按照指定的路徑通過IMAQ Write File.vi對所拍圖像進行保存,拍照具體可分為連續和斷續兩種方式,將一個加1加法器設置于條件結構內結合While循環形成移位寄存器,從而實現連續拍照,并對其進行有序保存;設置File Dialog的類型端口和提示端口,分別連接IMAQ Write File.vi的對應端口,在此基礎上置于事件結構中即可實現斷續拍照,可自定義保存路徑及圖像名稱。
為對需要存儲的視頻文件進行保存,需先選擇Vision Utilities/File/AVI /IMAQ AVI Create.vi,在條件結構內完成 *.avi文件的創建,接下來以每秒設定幀數通過IMAQAVI Write Frame.vi對圖片記錄到AVI 引用句柄指定文件中,最終通過AVIclose.vi對AVI保存進行關閉處理,從而完成錄制實時視頻過程。對抓取到的圖像進行添加時間文本操作,完成記錄視頻拍攝的時間,再通過IMAQ Draw Text.vi在圖像上添加獲取的時間。
(1)截圖通過相關子VI程序的調用完成(具體通過截圖按鈕事件觸發置于事件結構中的子VI程序實現),動態鏈接庫作為程序模塊的一種,其所封裝的例程和資源能夠被其它應用程序共享,系統通過調用動態鏈接庫對截圖子VI功能進行編寫:先完成CameraDll.dll的下載,選用庫與可執行程序,在函數面板中拖入調用庫函數節點進行配置,通過試驗確定截圖的入口函數,接下來設置該鏈接庫的參數。
(2)截圖過程判斷流程:設置截圖函數返回值為int型,將比較器添加于條件結構外,觸發條件結構程序時截圖動作完畢返回1,放棄截圖動作則返回0,截圖在前面板顯示,在函數面板中創建調用節點后右擊選擇剪切板中的獲取圖像,將其元素同按照名稱捆綁相連,視頻截圖效果如圖2所示。

圖2 實時視頻抓拍截圖前面板效果圖
由于LabVIEW工具箱處理圖像的算法存在局限性,為進一步提高圖像采集質量,本文對采集到的圖片使用混合編程方法,通過LabVIEW和MATLAB進行圖像增強處理,通過MATLAB Script節點實現MATLAB的調用并對圖像進行處理的具體操作步驟為:選擇功能函數/數學/腳本與公式/MATLAB Script,在框圖程序窗口中打開MATLAB Script節點后,其參數傳遞通過對輸入輸出進行添加實現,本文將輸入變量類型定義為path,輸入量設置為原圖像路。
通過使用Read JPEGFile.vi對現場采集到的彩圖進行讀取,并經由其路徑端口完成圖像輸出過程,圖像路徑變量賦值給a,再經由Input節點完成到MATLAB Script 節點的傳輸,對圖像進行灰度變換處理,實現彩色圖像分別到R、G、B 3個灰度圖的分解,對R、G、B灰度圖分別進行增強處理使圖像色彩更加飽和且真實的表現出來,接下來通過cat函數整合處理過后的R、G、B灰度圖分量為彩色圖,通過MATLAB顯示函數對彩色均衡后的圖像進行圖像輸出;為使采集到的不同大小的原彩圖實現自適應系統窗口大小,按名稱將圖像數據在圖像數據端解除捆綁,實現圖像表示大小的4個基本簇元素的輸出,通過數學運算方法對4 個簇元素的輸出做進一步處理后,再將重新設置圖像高度和寬度輸出至圖像繪圖區域大小屬性,從而完成原彩圖寬度和高度的修改,系統在LabVIEW的前面板上通過平化像素圖的繪制實現顯示過程,實現基于混合編程的彩圖增強處理過程。
為解決采集圖片使用普通攝像機時存在畫面不清晰難以辨認等劣勢,本文結合使用結合使用MATLAB軟件平臺、USB 攝像頭、動態鏈接庫等對圖像采集系統進行優化,對現場連續采集的視頻和圖像通過使用NI-IMAQ Vision視頻處理模塊進行處理,通過MATLAB的調用LabVIEW實現增強處理保存的真彩圖片,提高了視頻圖像采集速率及彩圖質量,豐富了圖像采集與匹配處理功能。