LabVIEW讀寫各類格式圖像的方法(基礎(chǔ)篇—1)
圖像數(shù)據(jù)被采集至內(nèi)存緩沖區(qū)后,機(jī)器視覺軟件即可對(duì)其施加各種圖像預(yù)處理、圖像分析、圖像處理和機(jī)器視覺算法。
1
讀寫各類格式圖像的方法
圖像數(shù)據(jù)可以多種文件格式保存至存儲(chǔ)設(shè)備,常見的標(biāo)準(zhǔn)圖像文件格式有:BMP(Bitmap)、TIFF(Tagged lmage File Format)、PNG(Portable NetworkGraphics)、JPEG(Joint Photographic Experts Group)等。如果需要,也可開發(fā)保存浮點(diǎn)數(shù)、復(fù)數(shù)或HSL類型圖像的專用圖像文件格式或?qū)⑦B續(xù)多幀圖像數(shù)據(jù)保存在AVI(Audio VideoInterleaved)視頻格式的文件中。
不同格式的圖像文件數(shù)據(jù)組織方式和壓縮率各不相同,這也使得它們各自適用的場(chǎng)合差異較大。
1.1、LabVIEW集成圖像讀寫函數(shù)
LabVIEW自身集成了對(duì)PNG、JPEG和BMP圖像文件的支持,這意味著在沒有安裝NI Vision的情況下也可以使用LabVIEW自帶的VI對(duì)這3種格式的圖像文件直接進(jìn)行讀寫操作。
這些函數(shù)位于圖形與聲音→圖形格式函數(shù)選板中,如下圖所示:
關(guān)于相關(guān)的函數(shù)功能及使用,可參見幫助手冊(cè):
使用LabVIEW自身集成的函數(shù)讀寫圖像,會(huì)將圖像數(shù)據(jù)讀入到數(shù)組中后才進(jìn)行處理,由于數(shù)組在內(nèi)存的棧區(qū)進(jìn)行分配,而圖像處理過程一般都要處理大量數(shù)據(jù),因此只能進(jìn)行較簡單的圖像處理。對(duì)于機(jī)器視覺應(yīng)用開發(fā)來說,通常需要進(jìn)行大量的圖像數(shù)據(jù)運(yùn)算,這就需要使用NI Vision提供的文件讀寫和處理函數(shù)在內(nèi)存的堆區(qū)進(jìn)行各種操作。
1.2、Nl Vision圖像讀寫函數(shù)
Nl Vision不僅可以支持常見的BMP、TIFF、PNG、JPEG等標(biāo)準(zhǔn)圖像文件格式讀寫,還支持可存放連續(xù)多幀圖像的AVI視頻文件格式,并且可保存浮點(diǎn)數(shù)、復(fù)數(shù)或HSL類型圖像的NI專用AIPD圖像文件格式。
Nl Vision提供的圖像文件操作VI包括圖像文件信息獲取VI、圖像和視覺系統(tǒng)信息獲取VI、圖像文件讀寫VI以及AVI文件操作VI等。這些VI位于LabVIEW的視覺與運(yùn)動(dòng)→Vision Utilities→Files函數(shù)選板中,如下圖所示:
在LabVIEW中調(diào)用這些VI不僅可以快速讀寫B(tài)MP、TIFF、PNG等標(biāo)準(zhǔn)圖像文件,還可以讀取結(jié)構(gòu)已知的非標(biāo)準(zhǔn)圖像文件。當(dāng)然也可以只獲取文件中包含的與圖像和機(jī)器視覺系統(tǒng)相關(guān)的信息,或使圖像在不同的文件格式之間進(jìn)行轉(zhuǎn)換。使用說明請(qǐng)參照手冊(cè):
2
小試牛刀
在LabVIEW使用NI Vision讀寫各類格式圖像的程序代碼、方法非常類似,如下所示:
一開始,IMAQ Load lmage Dialog會(huì)顯示文件選擇對(duì)話框,提示操作人員選擇要打開的圖像文件。該VI與LabvlEW的標(biāo)準(zhǔn)對(duì)話框VI相似,但提供了對(duì)所選圖像文件的預(yù)覽功能,例如讀取PNG圖像,效果如下所示:
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。