基于圖像處理的指針式儀表示數自動判讀算法研究
根據pi點的坐標,設置感興趣區域大小為hr×wr,可以在原圖中得到兩塊備選子區域。以某圖像為例,備選子區域如圖4所示,針尖一定位于兩個子區域中的一個。
本文引用地址:http://www.j9360.com/article/274754.htm2.2 基于LoG算子邊緣檢測的二值化
由于針尖區域內刻度線的邊緣特征明顯,因此采用基于Laplacian of Guassian(LoG)算子邊緣檢測的二值化處理方法。設原圖像為I(x, y),邊緣檢測后輸出圖像為O(x, y),則:
(4)
其中,;*是卷積符號。將式(4)變換為:
(5)
由于,則LoG模板為:
(6)
式(6)中參數δ的計算公式為:
(7)
其中,Int是取整運算;m是模板寬度,取m=min(hr , wr)/7。通過求取O(x, y)中過零點的軌跡即可得到原圖像的邊緣點,最后的闕值為:
(8)
其中,c的取值范圍是0~1,是所有邊緣點灰度值之和,N是邊緣點的總數。
2.3 備選子區域篩選
對于二值化處理結果,針尖區域包含了針尖和刻度線。本文的針尖區域遠離圖像中心,對于第i個備選區域,定義判斷值Ji如下:
(9)
其中,Ni是二值圖中連通域的數目,是所有連通域面積之和,c0、c1、c2是常數。通過計算兩塊備選區域的判斷值,選擇判斷值較大的區域即可得到針尖所在區域。
2.4 針尖定位
在第2.3節的基礎上,對針尖定位的步驟是:
(1)將僅含指針連通域的ROIBW逆時針旋轉角度i*得到ROI'BW,從指針連通域所連接邊界對側的邊界開始搜索,判斷是否出現分叉點。判斷方法是:統計該行所有寬度大于2的非零區間的數目,如果有兩個這樣的區間且距離不小于2,說明存在交叉點。設這一對區間的端點坐標分別是(x1, x2)和(x3, x4),則交叉點橫坐標為。若逐行搜索至ROI'BW高度的一半仍未發現分叉,跳至第(4)步。
(2)根據將ROI'BW分為左右兩部分,記為l和r,計算兩部分連通域的面積sl和sr。如果
,則在ROI'BW中將面積較小的一側置零,跳轉至第(4)步。
(3)若(2)中條件不滿足,分別計算l和r中連通域面積占該連通域外接矩形框面積的比例Rl和Rr,在ROI'BW中將比例較小的一側置零。
(4)從指針連通域所連接邊界對側的邊界開始逐行搜索,找到的第一個非零行的行坐標即針尖位置的縱坐標,將該行豎直投影,投影曲線左右兩端非零點的橫坐標均值視為針尖位置的橫坐標。
(5)將ROI'BW中的針尖坐標變換到ROIBW,進而得到針尖在原圖像I中的針尖坐標。
3 刻度線標記及讀數
3.1 基于逐步搜索的刻度線標記
定位針尖后,搜索刻度線的步驟為:
評論