




【摘 要】 本文分別介紹了基于Hough變換法和極坐標中心灰度投影法兩種指針精確提取算法,詳細論述了兩者存在的優缺點,并結合實驗結果分析成功的將這兩種算法綜合運用在圓盤指針的提取中。
【關鍵詞】 儀表 指針 提取算法
【DOI編碼】 10.3969/j.issn.1674-4977.2016.10.007
1 指針精確提取算法
以往算法中大多用基于單幅二值化圖像的Hough變換檢測直線的方法來提取指針,在這里,筆者提出三種算法綜合使用來精確提取圓盤儀表的指針:方法一仍然是二值單幅圖像上基于Hough變換的方法,方法二是灰度單幅圖像上的基于極坐標中心投影的方法,方法三是針對動態儀表視頻圖像利用最小二乘法處理在某一時刻獲取的多個指針角度值。
Hough變換方法作用在二值圖像上,針對圖像質量好的儀表圖像是非常好,但是儀表圖像有指針陰影或者指針邊有粘連文字的時候,雖然可以得到指針的位置,但是指針會稍有偏差。而極坐標中心投影的方法作用在灰度圖像上,對圖像的質量魯棒性比Hough變換要好的多,不會受到指針陰影或者指針邊有粘連文字的影響,但是對于寬指針,這種方法會帶來偏差。筆者將兩種算法綜合,保留兩種方法的優點,克服兩者的缺點,使得指針的自動提取針對不同品質的單幅圖像都非常的準確。用最小二乘法處理動態儀表視頻圖像,針對某一時刻獲取的多個指針角度值,可以輸出最優的指針角度值的結果。
1.1 根據Hough變換求得指針
將儀表圖像轉換為二值圖像后,便可以使用此種方法。由于指針是直線的,因此可以利用Hough變換檢測直線的方法得到可能的指針的邊緣線段,再由指針的邊緣線段推算出指針的精確位置。
Hough變換進行直線檢測的基本思想是點-線的對偶性。在XY坐標系的圖像空間里,所有過點[(x,y)]的直線都滿足方程[y=px+q];其中為[p]斜率,[q]為截距。其對應的PQ坐標系的參數空間可以寫成[q=-px+y]。如果[(x1,y1)],[(x2,y2)]在XY坐標系的空間中都在直線[y=px+q]上,也就是符合[y1=px1+q],[y2=px2+q];那么在坐標系為PQ的參數空間中,會有[q=-x1p+y1],[q=-x2p+y2],也就是在坐標系為PQ的參數空間中上對應兩條直線相交于[(p,q)]這個點。總的來說,在XY坐標系的圖像空間中共線的點對應于在PQ坐標系的參數空間中相交的點。根據這個對偶性,Hough直線變換的原理就是把XY坐標系里圖像空間檢測直線的問題轉化到對參數空間中直線的交點,并根據交點[(p,q)]的累加值[A(p,q)],由[A(p,q)]的大小可以得到圖像空間中直線[y=px+q]上的共線點的個數。
根據上述原理,用Hough變換求得線段。在儀表圖像中,筆者先對圖像進行二值化,然后通過Hough變換找到可能的線段。再根據圓盤中心點的位置,和圓盤邊緣的位置,制定相應的規則判斷哪些線段是指針的邊緣線,然后根據指針的邊緣線段來判斷指針的精確位置。首先計算每條線段的長度,然后計算每條線段離表盤中心處的距離,根據線段的長度、距離儀表圓中心的距離等參數設置規則,就可能得到有效的指針邊緣線段。其結果如圖1所示。
上述的方法中,基于Hough變換直線檢測的方法對于清晰儀表圖像、并且指針周圍沒有文字干擾、沒有指針陰影干擾的,能夠比較準確的得到指針的兩條邊緣線段,因此結果也非常精確。在能夠提取兩條指針邊緣線的情況下,取兩條邊緣線的中心線為指針的相對準確的位置。如果圖像不夠清晰,例如指針周圍有文字或是陰影,由于這些干擾的存在,只能選取一條甚至無法正確選取有效線段,如圖2所示,按Hough變換所求得的指針角度和真實值有0.026弧度的偏差。
圖1 基于圓心的位置關系確定指針位置
圖2 基于Hough變換所得到的指針位置
2.2 基于極坐標中心灰度投影的方法
直接在灰度圖像上尋找指針的位置,根據儀表圓環所有點的灰度值在極坐標[(r,θ)]的在角度坐標[θ]上進行投影,也就是在[0,2π]空間上對不同的半徑進行投影,取灰度累加的最小值求得指針的角度。由于指針部分是黑顏色的,所以在角度空間上其針對不同半徑的灰度累加值會最小。如圖3中所示,指針部分的影線值(和灰度累加值的反相對應)遠遠大于其他部分的值,那么這個最大影線的角度就是指針中心線的角度。
這種基于極坐標中心灰度投影方法的好處是針對圖像質量的魯棒性比基于Hough變換的方法要好的多,這是因為基于極坐標灰度投影的方法在灰度圖像上直接投影,而Hough變換法針對的是二值圖像,而且基于極坐標中心灰度投影的方法不會受指針旁邊文字的影響。但是這種方法也有缺點,由于很多指針有一定的寬度,因此角度最大值的位置有時候并不是指針遠處尖端中心處,可能是遠處尖端邊緣線的位置;因此在實際工作中往往會有一些細小的誤差,如圖4所示。
以上兩種方法結合就可以求得單幅圖像上精確的指針位置。方法如下:如果使用Hough變換的方法能求得指針的兩條邊緣線段,那么認為這種方法可行,取其為正確結果;如果使用Hough變換只能獲取一條有效的指針邊緣線段或者不能取得有效的指針邊緣線段,那么就選取使用極坐標的灰度投影方法中的結果為指針的值。
2 實驗結果分析
筆者針對50種類型的儀表不同光照條件下總共347幅儀表靜態圖像做了實驗,實驗結果如表1:
在經過靜態圖像實驗后,筆者又進行了動態視頻圖像的實驗,結果也十分理想。本文針對Hough變換提取指針的算法,極坐標中心投影的算法,指出了他們的優點和缺點,并且將這兩種算法綜合利用在圓盤指針的提取中。實驗結果表明,筆者設計的算法取得了準確的結果。