劉世兵,張路路,馬 壯
(山東工商學(xué)院 信息與電子工程學(xué)院,山東 煙臺 264003)
滅火器壓力表是反應(yīng)其內(nèi)部充裝狀態(tài)的儀表,在諸多部門和行業(yè)特別是危險品存放區(qū)域,需要實時監(jiān)控滅火器狀態(tài),確保正常充裝避免意外。傳統(tǒng)人工肉眼識別受到太多人為因素的影響,容易產(chǎn)生誤差,存在可靠性差等隱患。特別是在許多需要對儀表進行長期、持續(xù)識別的場合,由于長期工作引起視覺疲勞,將不可避免導(dǎo)致讀取誤差的產(chǎn)生,且肉眼識別也存在效率低下等缺點。隨著圖像處理技術(shù)的發(fā)展,由攝像頭代替人眼對儀表圖像進行采集,繼而利用數(shù)字圖像處理技術(shù)對圖像進行處理,這種識別儀表示數(shù)的方法越來越受到人們的重視[1-2]。
滅火器壓力表多采用指針和圓形表盤結(jié)構(gòu),目前,基于數(shù)字圖像處理技術(shù)的指針式儀表自動識別方法多針對讀數(shù)型儀表。戴亞文等于2003年提出基于圖像識別的復(fù)雜儀表讀數(shù)識別[3];李治瑋等于2007年提出新型指針儀表識別研究,誤差可以達到0.027 A[1];李祖賀等實現(xiàn)了指針式壓力表自動讀數(shù)的同時進行校驗的功能[4]。然而,多數(shù)傳統(tǒng)壓力表仍使用紅、綠、黃三色表示不同的區(qū)域,各種顏色之間使用黑線分開,指針顏色為黃褐色,導(dǎo)致圖像識別時背景區(qū)分度不高。同時,受環(huán)境光照強弱等因素影響,攝像頭拍攝的圖像也會受到影響,以上問題均給壓力表狀態(tài)的圖像識別造成了困難[5-7]。
鑒于此,本文對上述圖像的特點進行分析,提出一種綜合利用圖像處理和識別方法在上述類型的壓力表中提取和識別指針狀態(tài)的方案,實踐證明該算法準(zhǔn)確性、健壯性、實時性良好。
首先得到壓力表無指針狀態(tài)的初始圖像,接著對圖像運用灰度化求和法得到其灰度圖像,并將此圖像分割成3個區(qū)域,對其區(qū)域內(nèi)的灰度化求和,最后作為參考圖像存儲在計算機內(nèi)存中。在具體識別過程中,首先在同等條件下獲得一個有指針的圖像,使用與參考圖像相同的處理方式進行預(yù)處理,最后通過對其灰度化和的比較得出指針狀態(tài)。識別流程如圖1所示。
圖1 識別流程
本文設(shè)計的系統(tǒng)通過MATLAB命令行g(shù)uide創(chuàng)建界面,完成窗口的創(chuàng)建后,系統(tǒng)會自動生成.m文件,通過對.m文件的編寫實現(xiàn)相關(guān)功能[8-10]。
本論文使用的壓力表為白色表盤,黃褐色指針。對于區(qū)域進行預(yù)設(shè)定,分別為紅色(在充裝)、綠色(正常狀態(tài))、黃色(超充裝)。將壓力表盤固定后使用攝像頭拍攝無指針圖像作為參考圖像,同時在相同狀態(tài)下拍攝帶有指針的照片作為實驗測試圖。
在對圖像進行灰度處理之前,需要將圖片的像素調(diào)整一致(本論文將圖片像素統(tǒng)一處理為240×320),然后再對圖片進行灰度化處理。
圖片灰度化處理通常使用的方法有浮點算法、移動方位法、平均值法、加權(quán)平均法等,文中選用MATLAB rgb2gray()函數(shù)。該函數(shù)是MATLAB內(nèi)部處理圖像的函數(shù),消除圖像色調(diào)和飽和度信息,同時保留亮度將RGB圖像或彩色圖轉(zhuǎn)換為灰度圖像,即灰度化處理。該函數(shù)使用加權(quán)平均算法按照一定的權(quán)值對原圖像的RGB值進行加權(quán)平均處理:
式中,wR、wG、wB分別為R,G,B的權(quán)值。當(dāng)wG>wR>wB時,會得到較容易識別的灰色圖像,一般wR=0.299、wG=0.587、wB=0.114時得到的灰度圖像效果最佳。灰度圖像如圖2所示。
圖2 灰度圖像
使用MATLAB contour()函數(shù)對灰度處理后的圖片進行分析。contour(Z)函數(shù)創(chuàng)建一個包含矩陣Z等值線的等高線圖,包含x-y平面上的高度值。通過對參考圖片中的灰度圖片進行分析后發(fā)現(xiàn),在需要分割的3個區(qū)域內(nèi)存在圖像噪聲,需濾除。本文使用的強制閾值去噪法通過遍歷圖像的灰度值將超過100的灰度值全部置255,即將其顏色變?yōu)榘咨?。該方法操作簡單,且得到的圖像較為干凈,同時對于圖像中的重要信息損傷較小。
如圖3所示,在未處理的圖中存在很多圖像噪聲。圖4是通過強制閾值去噪后的圖像。通過對圖3與圖4的對比分析,得知該算法去噪效果較好。
圖3 未處理圖像
圖4 處理后圖像
滅火器壓力表狀態(tài)共分為3種,分別為紅、綠、黃。其中,紅色表示待充裝狀態(tài);綠色表示正常狀態(tài);黃色表示超充裝狀態(tài)。根據(jù)3種狀態(tài)的位置結(jié)合圖像中的坐標(biāo)將圖像分為3個區(qū)域,同時對分割的區(qū)域進行灰度值求和。
預(yù)處理后的圖像如圖5所示,該圖像尺寸為240×340,對圖像分割出3個區(qū)域碼,分別標(biāo)記紅、綠、黃,然后分別對這3個區(qū)域內(nèi)的灰度值求和。
圖5 圖像分割圖
通過區(qū)域求和后,可以得到3個不同區(qū)域的灰度值的和,若指針不在該區(qū)域,則其灰度值不發(fā)生改變,一旦灰度值發(fā)生改變,則說明壓力表的指針處于該區(qū)域,最終成功實現(xiàn)對壓力表狀態(tài)的識別。
為驗證本方法的可行性,利用攝像頭獲取圖像后使用該方法進行識別,共進行9次驗證,每種狀態(tài)識別3次,指針位置分別處于兩邊和中間,結(jié)果見表1所列。
表1中,R、G、Y為參考圖的被分割位置的灰度值的和;R1、G1、B1為測試圖的被分割位置的灰度值的和。由上述表格可以得出,指針由紅色中間區(qū)域到黃色中間區(qū)域時,該方法識別準(zhǔn)確度達100%,而靠近壓力表左右兩邊的位置未被準(zhǔn)確識別,原因是在分割區(qū)域時將壓力表狀態(tài)的兩邊區(qū)域未包括其中。
表1 測試數(shù)據(jù)
傳統(tǒng)的壓力表使用顏色表示狀態(tài),且這種型號的壓力表目前在社會各領(lǐng)域被大量應(yīng)用,尤其在消防領(lǐng)域,因此對其識別方法的研究具有重要的應(yīng)用價值。本文使用白色表盤和黃褐色指針有效解決了圖像識別中顏色區(qū)分度不高的問題,使用灰度值求和對比方法完成了對壓力表指針狀態(tài)的識別,該方法具有準(zhǔn)確率高、簡單、計算快速等優(yōu)點。同目前應(yīng)用于該領(lǐng)域的其他方法相比,具有較好的實用價值。
注:本文通訊作者為劉世兵。