鐘志偉, 張壽明
指針式儀表由于具有抗電磁干擾,精度高等數(shù)字式儀表無法取代的優(yōu)點,工業(yè)生產中仍然廣泛使用,許多企業(yè)為了避免定期派人員對指針式儀表進行檢定、記錄數(shù)據(jù)等工作,均實現(xiàn)了儀表自動判讀,儀表示值通過機器視覺等技術讀取。但工業(yè)現(xiàn)場往往存在許多的干擾光源或光源不穩(wěn)定的情況,對示值讀取造成了很大干擾,使得示值偏差較大,甚至無法讀取。
針對此情況,本文提出了一種基于Hough概率變化的指針去影,正確判別指針的算法,實驗表明:所提方法能夠在存在干擾光源,指針出現(xiàn)陰影的情況下正確判讀指針位置,提高了系統(tǒng)抗干擾性。
系統(tǒng)整體原理如圖1所示。具體識別步驟為:1) 圖像采集;2)圖像預處理;3)指針提??;4)指針陰影判別。
1)圖像灰度化處理。因為攝像頭采集到的圖像為彩色圖像,其占有空間大,影響程序的執(zhí)行效率,為了后續(xù)的圖像處理,將攝像頭采集到的彩色圖像轉化成灰度圖像,如圖2所示。
圖2 灰度圖像
2)圖像銳化。采用基于拉普拉斯的銳化算子對采集的灰度圖像進行處理,便于提取指針,突出圖像的邊緣,算子表達式為
f(x,y)=5f(x,y)-f(x-1,y)-f(x+1,y)-
f(x-1,y-1)-f(x+1,y+1)
(1)
式中f(x,y)為坐標為(x,y)的灰度值,其他以此類推。銳化后的圖像如圖3所示。
圖3 銳化后的圖像
3)圖像二值化處理。為檢測出儀表的指針,比較各算法[1~4]后,采用了閾值化分割的算法,即對銳化后的圖像進行二值化,選取合適的閾值進行Hough概率變化,檢測出圖像中的代表指針的直線。
圖像二值化即在0~255中選擇一個數(shù)值作為閾值,通過選取不同的閾值根據(jù)不同的方法,將灰度值小于該閾值的像素的值設為0或者255,0代表黑色;255則代表白色。二值化后的圖像如圖4所示。
圖4 二值化圖像
為了更準確地獲得代表指針的直線,對圖4進行了細化,提取后的圖像如圖5所示。圖中代表指針的直線雖然與左下角的短線錯誤的連接在了一起,但是并不影響后續(xù)的處理。
圖5 細化圖像
傳統(tǒng)Hough變換將笛卡爾坐標系下的直線y=ax+b映射到極坐標系,其函數(shù)關系為
ρ=xcosθ+ysinθ
(2)
式中ρ為直線到坐標原點的距離;θ為直線與x軸的夾角。通過對圖像中每一點以θ為橫坐標,ρ為縱坐標進行作圖,屬于同一直線上的點在該平面交于一點,通過尋找交于一點的曲線數(shù)量來檢測一條直線,越多的曲線交于一點說明該交點表示的直線由更多的點組成。因此,可以通過設定閾值來定義多少條曲線交于一點才認為是一條直線。Hough概率變換也是將圖像映射到極坐標系中,不同的是其隨機選取圖像上的前景點,當曲線的交點數(shù)達到設定的閾值,在笛卡爾坐標系下找出該直線L,并輸出線段的端點坐標[5]。
通過Hough概率變換能夠得到檢測出的直線的起點(x0,y0)與終點(x1,y1)坐標,直線的方程表示為
(3)
在無干擾條件下通過檢測任意2個不在同一位置的指針可得2個不同的方程,求取2條直線的交點,即為指針的回轉中心,其突出的特點是坐標固定不變,因此,當在外界有干擾的條件下,指針存在陰影,或者是其他直線狀物體的影子進入圖像時,可以通過這些直線與機械調零位置指針的交點來判斷該直線是否為陰影,或不相干圖像,從而提高系統(tǒng)的抗干擾性,避免程序出現(xiàn)誤判,提高示值讀取的準確率。該方法可以簡單的概括為以下3步:
1)利用Hough概率變換提取出初始位置的指針,并保存該直線方程;
2)提取任意不同于初始位置的指針,并通過式(3)計算2條直線的交點,即回轉中心;
3)當檢測到圖像中出現(xiàn)不止一條同樣長度的直線,或者更長的直線時,通過比較該直線與初始位置的的交點坐標與步驟(2)中所求的坐標大小關系比較是否為干擾直線,并輸出正確的指針的直線。
本文采用圖4所示指針初始位置與圖6所示的指針位置獲取指針的回轉中心。通過人為制造干擾光源,使得二值化圖像中出現(xiàn)干擾直線檢驗算法的可行性。加入干擾后圖像如圖7所示。
圖6 指針轉動后的圖像
圖7 干擾圖像
光從儀表左邊投射可以看出,圖像中出現(xiàn)了指針陰影、許多其他的干擾因素。通過上述算法可求得指針回轉中心的坐標為(297,484),以及圖7中檢測到的直線與指針初始位置的交點1的坐標(295,482)與交點2的坐標(323,525)?;剞D中心為由圖4和圖6所示求取的直線交點,在正常無干擾下求得。交點1和交點2是由圖7與圖4所示求取的直線交點。通過判斷交點1、交點2與回轉中心的坐標關系即正確判斷出代表指針位置的直線,通過將Hough概率變換檢測到直線在圖中劃線可以判斷與回轉中心坐標距離最近的交點1為正確指針交點。將圖4、圖6以及圖7檢測到的直線用直線顯示出來,如圖8所示,同時也可以通過表1看出,交點1與回轉中心并不是嚴格意義上的相同,這與Hough概率變換檢測到的直線與直線交點計算過程中的數(shù)值取舍均有關系,但并不影響程序檢測的正確性與可靠性。
圖8 檢測到的直線
實驗中通過在不同光照下檢驗,本文方法均能正確檢測出代表正確指針的直線,表現(xiàn)出了很好的抗干擾性。
通過Hough概率變換檢測出圖像中代表指針的直線,并通過在無干擾的情況下檢測指針不同位置時的交點來確定回轉中心,并以此點為參考點來檢測后續(xù)檢測到的直線與指針初始位置的交點來判定正確指針的位置。實驗表明:方法能夠正確檢測出指針并提高系統(tǒng)的抗干擾性,在實際的生產應用中具有一定的借鑒意義。
參考文獻:
[1] 趙艷琴,楊耀權,田 沛.基于計算機視覺技術的指針式儀表示值的自動判讀方法研究[J].電力情報,2001(3):39-42.
[2] 戴亞文,王三武,李金龍.基于圖像處理技術復雜儀表的自動識別[J].計量技術,2003(3):33-35.
[3] 陳 彬,金連文.一種儀表指針位置檢測的中心投影法[J].計算機應用研究,2005,22(1):246-248.
[4] Alegria E C,Serra A C.Automatic calibration of analog and digital measuring instruments using computer vision[J].IEEE Trans on Instrumentation and Measurement,2000,49(1):94-99.
[5] Matas J,Galambos C,Kittler J.Robust detection of lines using the progressive probabilistic hough transform[J].Comput Vision Image Underst,2000,78 (1):119-137.