LabVIEW讀寫(xiě)各類(lèi)格式圖像的方法(基礎篇—1)
圖像數據被采集至內存緩沖區后,機器視覺(jué)軟件即可對其施加各種圖像預處理、圖像分析、圖像處理和機器視覺(jué)算法。
1
讀寫(xiě)各類(lèi)格式圖像的方法
圖像數據可以多種文件格式保存至存儲設備,常見(jiàn)的標準圖像文件格式有:BMP(Bitmap)、TIFF(Tagged lmage File Format)、PNG(Portable NetworkGraphics)、JPEG(Joint Photographic Experts Group)等。如果需要,也可開(kāi)發(fā)保存浮點(diǎn)數、復數或HSL類(lèi)型圖像的專(zhuān)用圖像文件格式或將連續多幀圖像數據保存在A(yíng)VI(Audio VideoInterleaved)視頻格式的文件中。
不同格式的圖像文件數據組織方式和壓縮率各不相同,這也使得它們各自適用的場(chǎng)合差異較大。
1.1、LabVIEW集成圖像讀寫(xiě)函數
LabVIEW自身集成了對PNG、JPEG和BMP圖像文件的支持,這意味著(zhù)在沒(méi)有安裝NI Vision的情況下也可以使用LabVIEW自帶的VI對這3種格式的圖像文件直接進(jìn)行讀寫(xiě)操作。
這些函數位于圖形與聲音→圖形格式函數選板中,如下圖所示:
關(guān)于相關(guān)的函數功能及使用,可參見(jiàn)幫助手冊:

使用LabVIEW自身集成的函數讀寫(xiě)圖像,會(huì )將圖像數據讀入到數組中后才進(jìn)行處理,由于數組在內存的棧區進(jìn)行分配,而圖像處理過(guò)程一般都要處理大量數據,因此只能進(jìn)行較簡(jiǎn)單的圖像處理。對于機器視覺(jué)應用開(kāi)發(fā)來(lái)說(shuō),通常需要進(jìn)行大量的圖像數據運算,這就需要使用NI Vision提供的文件讀寫(xiě)和處理函數在內存的堆區進(jìn)行各種操作。
1.2、Nl Vision圖像讀寫(xiě)函數
Nl Vision不僅可以支持常見(jiàn)的BMP、TIFF、PNG、JPEG等標準圖像文件格式讀寫(xiě),還支持可存放連續多幀圖像的AVI視頻文件格式,并且可保存浮點(diǎn)數、復數或HSL類(lèi)型圖像的NI專(zhuān)用AIPD圖像文件格式。
Nl Vision提供的圖像文件操作VI包括圖像文件信息獲取VI、圖像和視覺(jué)系統信息獲取VI、圖像文件讀寫(xiě)VI以及AVI文件操作VI等。這些VI位于LabVIEW的視覺(jué)與運動(dòng)→Vision Utilities→Files函數選板中,如下圖所示:

在LabVIEW中調用這些VI不僅可以快速讀寫(xiě)BMP、TIFF、PNG等標準圖像文件,還可以讀取結構已知的非標準圖像文件。當然也可以只獲取文件中包含的與圖像和機器視覺(jué)系統相關(guān)的信息,或使圖像在不同的文件格式之間進(jìn)行轉換。使用說(shuō)明請參照手冊:

2
小試牛刀
在LabVIEW使用NI Vision讀寫(xiě)各類(lèi)格式圖像的程序代碼、方法非常類(lèi)似,如下所示:

一開(kāi)始,IMAQ Load lmage Dialog會(huì )顯示文件選擇對話(huà)框,提示操作人員選擇要打開(kāi)的圖像文件。該VI與LabvlEW的標準對話(huà)框VI相似,但提供了對所選圖像文件的預覽功能,例如讀取PNG圖像,效果如下所示:

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。