闞鈺淇,徐熙平
(長春理工大學光電工程學院,吉林 長春,130000)
圖片是人類通過視覺來感知外部世界的重要工具,對于圖片本身,適當地截取部分內容可以幫助我們關注信息的重點,保留圖片的關鍵部分以及對圖片的局部進行特定的設置與操作,因此,無論是在工業生產、教學研究還是在日常生活中均具有廣泛的應用。由于LabVIEW屬于圖形化的編程語言(G語言),因此,使用LabVIEW編程不僅過程方便快捷,同時,極具靈活性。用戶可以根據自己的需求自定義操作界面與設置功能,并且LabVIEW具有龐大的函數庫以及特定的應用程序代碼,包括對數據與圖片的顯示、處理以及保存等功能,方便用戶開發與使用。

圖1 前面板設計
截圖保存系統的設計主要分為兩大部分:第一部分為前面板設計,也就是自定義的系統操作界面,如圖1所示。該界面包括原始圖片與所截圖片的對比顯示,還有原圖片存儲路徑和新截取圖片保存路徑的具體顯示,附加一個警示燈和一系列控制按鈕。在這個用戶界面上,可以通過顯示控件的滾動條清晰地看到圖片的整體與局部,操作非常方便。
第二部分為后面板設計,也就是程序框圖的具體設計過程。程序的主體是一個三層的層疊式順序結構。在第一層中用布爾真常量與一個小燈連接,一旦運行程序,紅色警示燈就會點亮,作用是提示用戶程序正在使用。在第二層中,首先應用文件對話框來設置選擇圖片的具體路徑,并通過IMAQ ReadFile函數讀取一幅圖片,再由Image Display函數將所選取的圖片顯示出來。其中,兩個IMAQ Creat函數為原始圖片以及所截取的圖片設置所需的緩沖區,然后就進入一個While循環。在此循環中,運用兩個條件結構,第一個條件結構中存在一個IMAQ Extract函數,該函數用于圖像的截取,連接的兩個常數1是默認的設置方式,一旦用戶用鼠標在原始圖像上畫出所截的矩形區域,所截圖片上便會顯示你所截的部分圖片。第二個條件結構中存在一個IMAQ WriteFile函數,用于保存所截圖片到指定的路徑內,便于用戶儲存圖片信息,如圖2所示。
第三層的作用是在程序結束時恢復系統的初始化設置,也就是清除已有數據及屏幕上的圖片,為下一次的運行做準備,第三層順序結構中的內容如圖3所示。
運行該程序,將一幅名為卡通的圖片載入,然后進行截圖操作,并將其保存在自定義的路徑下,其結果如圖4所示。其中,截圖保存路徑以及所截圖片的最終顯示結果如圖5以及圖6所示。

圖2 截圖保存程序設計

圖3 恢復初始化程序設計

圖4 程序運行結果

圖5 保存路徑

圖6 所截圖片
在LabVIEW平臺的基礎上進行圖片截取與保存系統設計,不僅操作靈活而且編程簡單易懂,無論是在工業應用還是在教學及日常生活中,都具有較好的開發前景,值得我們使用以及進一步研究。
[1]豈興明,周建興,矯津毅.LabVIEW8.2入門與典型實例[M].北京:人民郵電出版社,2011:2-8.
[2]王陽,王竹林.基于LabVIEW的圖像處理技術[J].兵工自動化,2009,28(1):89-91.