圖像識別是人工智能的一個重要領域,隨著圖像處理與分析技術的快速發(fā)展,圖像識別已在醫(yī)療、零售、交通等領域得到了廣泛應用。在汽車影音娛樂自動化測試系統(tǒng)中,圖像識別技術也發(fā)揮著不可替代的作用。今天,小編將為大家詳細分解如何利用LabVIEW實現(xiàn)汽車儀表圖像識別。
(LabVIEW圖像識別系統(tǒng))
Step1 圖像采集
圖像采集是圖像識別的前提,以GigE工業(yè)相機為例。圖像采集需要借助NI-IMAQdx驅(qū)動模塊中的一系列函數(shù),其過程如下:
1. 使用IMAQdx Open Camera.vi函數(shù)連接并打開選定的攝像頭;
2. 通過IMAQdx Grab.vi函數(shù)獲取圖像;
3. 使用IMAQdx Write File.vi函數(shù)將圖像按照選定的格式保存至文件夾,圖像格式包括BMP、PNG、JPEG、TIFF等。
(圖像采集程序)
Step2 圖像處理
圖像處理是通過計算機對圖像進行去噪、增強、復原、分割、特征提取。這里簡要介紹使用LabVIEW中的Vision Development Module軟件包函數(shù)進行圖像處理的幾種基本方法——圖像灰度化、圖像二值化、圖像增強。
1、圖像灰度化
工業(yè)相機采集到的圖像一般為RGB顏色模式,但是,RGB模式并不能反映圖像的形態(tài)特征,只能從光學的原理上進行顏色調(diào)配。因此,處理圖像的時候,要對RGB三種分量進行分別處理。使用LabVIEW軟件中的IMAQ Extract Single Color Plane.vi函數(shù)可實現(xiàn)圖像的灰度化處理。圖像灰度處理程序和處理結果如下圖所示:
(灰度處理程序)
(灰度處理結果)
2、圖像二值化
圖像二值化處理是通過將圖像上各像素點的灰度值設置為0或255,來使整個圖像呈現(xiàn)出明顯的黑白效果。在LabVIEW中,利用IMAQ Threshold.vi函數(shù)對灰度圖像進行適當?shù)拈撝颠x取,從而獲得能反應出圖像整體和局部特征的二值化圖像。處理程序和處理結果如下圖所示:
(二值化處理程序)
(二值化處理結果)[!--empirenews.page--]
3、圖像增強
圖像增強是指根據(jù)用戶需求突出圖像中必要的信息,同時削弱或去除不需要的信息。圖像增強是圖像處理的最基本手段。使用LabVIEW軟件中的IMAQ BCGLookup.vi函數(shù)對灰度圖像進行修正,可改善圖像的視覺效果,從而提供直觀、清晰、適于分析的圖像。圖像增強處理程序和處理結果如下圖所示:
(圖像增強處理程序)
(圖像增強處理結果)
Step3 圖像識別
采集的圖像,經(jīng)過處理,下一步就要進行識別了。利用計算機對圖像中的物體進行處理、分析和理解,模擬完成人類的認識和理解過程,從而識別各種不同模式的目標和對象。
汽車儀表的圖像識別主要包括報警類圖標識別和OCR識別,兩種識別模式原理基本相同,首先對原始圖像進行預處理,再提取特征存入訓練庫中,測試時將現(xiàn)場采集到的圖像與訓練庫中信息進行比對,最終得出識別結果。兩種識別方案如下圖所示:
(圖標識別)
(OCR識別)
1、圖標訓練/識別
在Edit Icon Classifier界面下可以對該屏幕的圖標識別功能進行配置,將樣本圖標的形狀、顏色、位置存入訓練庫中。配置界面如下圖,界面左側為設備采集的最新圖像,右側為可識別圖標的信息列表,右下角為圖標的圖像顯示。
同時,在Edit Color Classifier界面可進行顏色學習資源的查看和刪除。界面左側顯示的是當前顏色識別的學習資源,右側Browser Display中可以選擇顯示所有學習資源或者按照顏色類別顯示相應的學習資源。
2、OCR訓練/識別
在讀取圖像的文字或字符之前,先通過NI OCR Training模塊對字符樣本進行訓練,并生成abc格式的庫文件。然后,在代碼的初始化部分使用IMAQ OCR Read Character Set File.vi函數(shù)讀取NI OCR Training接口并創(chuàng)建會話,在程序中通過調(diào)用abc文件來實現(xiàn)字符識別的功能。
至此,就完成了從圖像采集到圖像處理再到圖像識別的完整流程了。目前,這套圖像識別系統(tǒng)已被國內(nèi)知名汽車企業(yè)運用,用于識別汽車儀表報警圖標顯示、動態(tài)圖標閃爍頻率、故障報警文字等。