本發(fā)明屬于儀表檢測技術(shù)領(lǐng)域,具體涉及一種儀表刻度線位置自動檢測方法。
背景技術(shù):
隨著汽車電子技術(shù)的發(fā)展,汽車上使用的電子部件數(shù)量正在不斷增加,汽車儀表顯示的信息已經(jīng)不再局限于車速、轉(zhuǎn)速、水溫和油量等基礎(chǔ)信息,汽車儀表的功能正在不斷增加,邏輯也變得更加復雜,由此導致制造商對儀表進行功能測試時的難度不斷增大,一直以來汽車儀表測試工作都是以人力測試為主,存在著諸如效率低,速度慢等缺點,每個功能都需要兩次或多次的反復測試,整個測試過程是枯燥、低效、易錯的,使用機器視覺技術(shù)自動識別汽車儀表讀數(shù)是提高汽車儀表功能測試效率和準確性的有效方法。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的缺陷和不足,提供一種儀表刻度表輪廓自動檢測方法,完全采用全自動化的策略,將刻度線所在位置檢測出來,獲得刻度線輪廓,用戶幾乎不需要進行任何人工操作。
本發(fā)明采用的技術(shù)方案如下:
一種儀表刻度線輪廓自動檢測方法,其特征在于,包括以下步驟:
1)、通過對二值化刻度儀表圖像的最大連通域尺寸分析以及亮度直方圖分析判斷待分析刻度儀表屬于亮刻度儀表還是暗刻度儀表,具體如下:
1.1)、圖像二值化:在對儀表圖像進行二值化之前,還需要先計算二值化閾值;二值化閾值采用經(jīng)驗值,在算法運行之前由人工設定;
1.2)、連通域提?。涸诙祷瘓D像中,提取每一個連通域,并且得到其對應的輪廓;
1.3)、最大連通域尺寸分析:暗刻度儀表,有一個面積很大的圓盤;而亮刻度儀表,沒有這樣的圓盤,只是各個孤立的刻度線按圓形排列;可以通過圖像中最大連通域的尺寸,來判別屬于亮刻度儀表還是暗刻度儀表;
1.4)、亮度直方圖分析:暗刻度儀表與亮刻度儀表,對應的圖像的亮度直方圖截然不同;暗刻度儀表中,前景像素較多,因此亮度直方圖偏向高亮度方向;而亮刻度儀表,背景像素較多,直方圖偏向低亮度方向;通過比較二者的亮度直方圖,可以判別其屬于哪一種儀表;
2)、依據(jù)亮刻度儀表中刻度線的形狀、尺寸特定進行刻度線提取,之后根據(jù)刻度線的空間分布特點對提取到的刻度線進行驗證和補漏,得到亮刻度儀表中刻度線,實現(xiàn)亮刻度儀表中刻度線的檢測;具體如下:
亮刻度儀表中,刻度線的檢測,難度比暗刻度儀表要大,因為圓形檢測更加困難;但是,亮刻度儀表也具有其自身的特點,通過挖掘這些特點,可以實現(xiàn)刻度線的自動檢測,方法如下:
2.1)、非細長型連通域過濾:亮刻度線在外形上都是細長的矩形;在得到二值化圖像中的連通域輪廓之后,就可以根據(jù)連通域的形狀,對每一個連通域進行初步篩選,步驟包括:a)、對當前輪廓,計算最小外接矩形;b)、驗證輪廓的矩形度,矩形度小于0.7,濾除;c)、最小外接矩形的長寬比小于6,濾除;
2.2)、尺寸相似性聚類:所有的刻度線,在尺寸上具有很大的相似性;本申請用刻度線的長和寬來實現(xiàn)尺寸聚類;具體方法如下:a)、設定初始聚類數(shù)目為1;b)、遍歷各個連通域,依次將各個連通域加入聚類;c)、計算當前聚類中連通域的長和寬的平均值;d)、如果當前聚類中,長和寬的標準差,有一個超過了閾值5,則將新的連通域單獨作為一個類;e)、依次遍歷,直到所有的連通域都已經(jīng)放入到聚類中為止;f)、找到數(shù)目最多的兩個聚類,作為待考察的連通域(亮刻度儀表中包含兩種刻度,粗刻度線比細刻度線尺寸稍大);
2.3)、刻度線聚類正確性驗證:連通域數(shù)目最多一個聚類中,如果所有的連通域都是刻度線,則必須滿足于如下的規(guī)律,否則聚類不正確;
2.31)、向心性:所有的刻度線,都是指向圓心的;可以利用這一特點來進行驗證;方法如下:a)、選擇位于最左側(cè)的刻度線和最上側(cè)的刻度線,延長它們的中心線,得到交點;b)、將其余刻度線的中心線延長,計算這些中心線到交點的距離;c)、如果某一個刻度線的中心線到交點的距離,大于10個像素,則說明這個聚類中存在噪聲連通域,聚類失敗;
2.32)、色彩一致性:統(tǒng)計聚類中所有的刻度線的顏色值;如果某個顏色值與其他顏色值相比,rgb之中的任何一個通道的差異,都超過10,則聚類失??;
2.33)、刻度線等距離:所有的刻度線都是等間距的;依次計算相鄰兩個連通域之間的距離,然后分析所有這些距離值的特性:如果某個距離值與其他的距離值相比,超過5個像素,則聚類失??;
2.34)、對稱性:儀表上刻度盤的刻度線,都是具有左右對稱性的;檢測每一個刻度線,是否與聚類中的另一個刻度形成鏡面對稱或者關(guān)于自身對稱,如果找不到對稱的刻度線,則去掉該刻度線;
2.4)、圓形擬合:利用經(jīng)過正確性驗證之后的刻度線聚類,來進行圓形擬合,然后將不屬于圓上的刻度線過濾掉;細節(jié)如下:a)、計算每一個刻度線的中線上的相對于圓心的遠端點;b)、利用隨機采樣一致性(ransac)算法,對這些遠端點進行圓形擬合;c)、對聚類中的所有刻度線上的遠端點,計算其到圓形邊界的距離;d)、濾除掉距離較大的刻度線;
2.5)、第二聚類分析:由于刻度盤的圓周上,存在兩種長度不一致的刻度線:一種長一些,另一種短一點。進行尺寸聚類時,可以將這兩種長度不一致的刻度線,分別聚類到各自的子類中。第一聚類,是指長一點的那種刻度線形成的子類。第二聚類,則對應短一點的那種刻度線的子類。第一個子類的刻度,它們有一個圓心的,并且它們的刻度線中點,可以連接成一個圓??纯吹诙垲惖目潭戎行暮偷谝痪垲惖膱A心是否重合就可以判斷聚類分析的正確性。同樣,觀察第一聚類的圓,是否穿過第二聚類的每個刻度線,來驗證是否正確;利用第一聚類的刻度線的圓心,來驗證第二聚類中刻度線的正確性;具體為:a)、檢測每個刻度線到圓心的距離,是否一致;b)、檢測每個刻度線,是否經(jīng)過第一聚類中刻度線形成的圓;
2.6)、漏缺刻度線修補:由于相機拍攝的圖像,難免受到各種干擾,某個刻度線被錯誤濾除的可能性是存在的;此時需要進行檢查和修補,將漏缺的刻度線補回來;具體方法如下所示:a)、根據(jù)前述步驟得到的圓,重新提取所有距離該圓邊界在20個像素以內(nèi)的連通域;b)、每個連通域進行分析,如果連通域是細長的,并且與相鄰的刻度線的距離滿足等間距特性,則可以將該刻度線加入到進來;
3)、依據(jù)暗刻度儀表刻度線、表盤外輪廓、表盤內(nèi)輪廓為亮圓的特點,進行圖像處理以及刻度線的提取,并根據(jù)刻度線空間分布特點進行驗證,得到暗刻度儀表中刻度線,實現(xiàn)暗刻度儀表中刻度線的檢測刻度線檢測;
3.1)、圓形擬合:利用連通域的輪廓點,作為邊緣點;在這些邊緣點的基礎(chǔ)上,利用hough圓形檢測算法,進行圓形擬合;在完成圓形擬合之后,還需要統(tǒng)計該圓上邊緣點的數(shù)目;如果邊緣點數(shù)目小于圓周長的30%,則舍棄該圓;
3.2)、同心圓檢測:為了提高圓形擬合的質(zhì)量,還需要進行同心圓的檢測;將上一步擬合得到的所有的圓,兩兩之間進行比較;如果兩個圓的圓心坐標歐氏距離小于5個像素,則認為是同心圓;在暗刻度儀表中,僅保留同心圓,非同心圓都舍棄;
3.3)、內(nèi)部輪廓提?。赫业酵膱A中的最大圓,作為暗刻度儀表中圓形表盤的外輪廓;進一步找到該外輪廓所在連通域的內(nèi)部輪廓;在內(nèi)部輪廓的基礎(chǔ)上,進行刻度線的提取和分析;
3.4)、刻度線提取:a)、將內(nèi)部輪廓繪制在新的黑色圖像上,內(nèi)部填充為白色;b)、將內(nèi)部輪廓的部分碎片形成的半徑最小的內(nèi)圓也繪制在另一幅新的黑色圖像上,內(nèi)部填充為白色;c)、使用尺寸為3的正方形核,將內(nèi)圓膨脹;為了降低兩幅圖像在做差時,內(nèi)圓邊界附近出現(xiàn)稍許的殘留像素,影響后續(xù)檢測,需要將內(nèi)圓外擴;d)、輪廓圖與內(nèi)圓圖做差;在輪廓圖中為白色像素,但是在內(nèi)圓圖中為黑色像素的,作為差值圖中的前景像素,否則為背景;e)、在差值圖中提取連通域,作為刻度線;
3.5)、檢測結(jié)果驗證:在得到所有的刻度線之后,需要對其特征進行分析,驗證它們的統(tǒng)一性,從而確定刻度線的檢測是否正確;從如下幾個方面進行驗證:a)、刻度線的延長線是否經(jīng)過或者接近圓心,如果圓心到直線的距離不超過10個像素,則認為經(jīng)過圓心;b)、刻度線平均亮度,彼此不超過20;c)、刻度線的最小外接矩形,長寬比都大于4;d)、刻度線的最小外接矩形,彼此長度之差不超過5個像素,高度之差不超過3個像素;e)、刻度線中心到圓心距離,彼此不差過5個像素;f)、相鄰刻度線之間的此距離,是穩(wěn)定的;多個距離值,彼此相差不超過5個像素;g)、刻度線滿足對稱性;
4)、刻度線角度計算:計算每個刻度線的重心位置;利用刻度線對應的圓心位置,將刻度線重心與圓心相連;計算該連接直線對應的角度值,并且存儲下來;至此,刻度線檢測完成;
本發(fā)明的有益效果如下:
本發(fā)明采用的自動化策略實現(xiàn)了刻度儀表刻度線位置的自動檢測,先進行亮刻度儀表和具有高效方便準確率高的特點。
附圖說明
圖1為本發(fā)明流程圖。
具體實施方式
一種儀表刻度線輪廓自動檢測方法,其特征在于,包括以下步驟:
1)、通過對二值化刻度儀表圖像的最大連通域尺寸分析以及亮度直方圖分析判斷待分析刻度儀表屬于亮刻度儀表還是暗刻度儀表,具體如下:
1.1)、圖像二值化:在對儀表圖像進行二值化之前,還需要先計算二值化閾值;二值化閾值采用經(jīng)驗值,在算法運行之前由人工設定;
1.2)、連通域提?。涸诙祷瘓D像中,提取每一個連通域,并且得到其對應的輪廓;
1.3)、最大連通域尺寸分析:暗刻度儀表,有一個面積很大的圓盤;而亮刻度儀表,沒有這樣的圓盤,只是各個孤立的刻度線按圓形排列;可以通過圖像中最大連通域的尺寸,來判別屬于亮刻度儀表還是暗刻度儀表;
1.4)、亮度直方圖分析:暗刻度儀表與亮刻度儀表,對應的圖像的亮度直方圖截然不同;暗刻度儀表中,前景像素較多,因此亮度直方圖偏向高亮度方向;而亮刻度儀表,背景像素較多,直方圖偏向低亮度方向;通過比較二者的亮度直方圖,可以判別其屬于哪一種儀表;
2)、依據(jù)亮刻度儀表中刻度線的形狀、尺寸特定進行刻度線提取,之后根據(jù)刻度線的空間分布特點對提取到的刻度線進行驗證和補漏,得到亮刻度儀表中刻度線,實現(xiàn)亮刻度儀表中刻度線的檢測;具體如下:
亮刻度儀表中,刻度線的檢測,難度比暗刻度儀表要大,因為圓形檢測更加困難;但是,亮刻度儀表也具有其自身的特點,通過挖掘這些特點,可以實現(xiàn)刻度線的自動檢測,方法如下:
2.1)、非細長型連通域過濾:亮刻度線在外形上都是細長的矩形;在得到二值化圖像中的連通域輪廓之后,就可以根據(jù)連通域的形狀,對每一個連通域進行初步篩選,步驟包括:a)、對當前輪廓,計算最小外接矩形;b)、驗證輪廓的矩形度,矩形度小于0.7,濾除;c)、最小外接矩形的長寬比小于6,濾除;
2.2)、尺寸相似性聚類:所有的刻度線,在尺寸上具有很大的相似性;本申請用刻度線的長和寬來實現(xiàn)尺寸聚類;具體方法如下:a)、設定初始聚類數(shù)目為1;b)、遍歷各個連通域,依次將各個連通域加入聚類;c)、計算當前聚類中連通域的長和寬的平均值;d)、如果當前聚類中,長和寬的標準差,有一個超過了閾值5,則將新的連通域單獨作為一個類;e)、依次遍歷,直到所有的連通域都已經(jīng)放入到聚類中為止;f)、找到數(shù)目最多的兩個聚類,作為待考察的連通域(亮刻度儀表中包含兩種刻度,粗刻度線比細刻度線尺寸稍大);
2.3)、刻度線聚類正確性驗證:連通域數(shù)目最多一個聚類中,如果所有的連通域都是刻度線,則必須滿足于如下的規(guī)律,否則聚類不正確;
2.31)、向心性:所有的刻度線,都是指向圓心的;可以利用這一特點來進行驗證;方法如下:a)、選擇位于最左側(cè)的刻度線和最上側(cè)的刻度線,延長它們的中心線,得到交點;b)、將其余刻度線的中心線延長,計算這些中心線到交點的距離;c)、如果某一個刻度線的中心線到交點的距離,大于10個像素,則說明這個聚類中存在噪聲連通域,聚類失敗;
2.32)、色彩一致性:統(tǒng)計聚類中所有的刻度線的顏色值;如果某個顏色值與其他顏色值相比,rgb之中的任何一個通道的差異,都超過10,則聚類失??;
2.33)、刻度線等距離:所有的刻度線都是等間距的;依次計算相鄰兩個連通域之間的距離,然后分析所有這些距離值的特性:如果某個距離值與其他的距離值相比,超過5個像素,則聚類失??;
2.34)、對稱性:儀表上刻度盤的刻度線,都是具有左右對稱性的;檢測每一個刻度線,是否與聚類中的另一個刻度形成鏡面對稱或者關(guān)于自身對稱,如果找不到對稱的刻度線,則去掉該刻度線;
2.4)、圓形擬合:利用經(jīng)過正確性驗證之后的刻度線聚類,來進行圓形擬合,然后將不屬于圓上的刻度線過濾掉;細節(jié)如下:a)、計算每一個刻度線的中線上的相對于圓心的遠端點;b)、利用隨機采樣一致性(ransac)算法,對這些遠端點進行圓形擬合;c)、對聚類中的所有刻度線上的遠端點,計算其到圓形邊界的距離;d)、濾除掉距離較大的刻度線;
2.5)、第二聚類分析:由于刻度盤的圓周上,存在兩種長度不一致的刻度線:一種長一些,另一種短一點。進行尺寸聚類時,可以將這兩種長度不一致的刻度線,分別聚類到各自的子類中。第一聚類,是指長一點的那種刻度線形成的子類。第二聚類,則對應短一點的那種刻度線的子類。第一個子類的刻度,它們有一個圓心的,并且它們的刻度線中點,可以連接成一個圓。看看第二聚類的刻度中心和第一聚類的圓心是否重合就可以判斷聚類分析的正確性。同樣,觀察第一聚類的圓,是否穿過第二聚類的每個刻度線,來驗證是否正確;利用第一聚類的刻度線的圓心,來驗證第二聚類中刻度線的正確性;具體為:a)、檢測每個刻度線到圓心的距離,是否一致;b)、檢測每個刻度線,是否經(jīng)過第一聚類中刻度線形成的圓;
2.6)、漏缺刻度線修補:由于相機拍攝的圖像,難免受到各種干擾,某個刻度線被錯誤濾除的可能性是存在的;此時需要進行檢查和修補,將漏缺的刻度線補回來;具體方法如下所示:a)、根據(jù)前述步驟得到的圓,重新提取所有距離該圓邊界在20個像素以內(nèi)的連通域;b)、每個連通域進行分析,如果連通域是細長的,并且與相鄰的刻度線的距離滿足等間距特性,則可以將該刻度線加入到進來;
3)、依據(jù)暗刻度儀表刻度線、表盤外輪廓、表盤內(nèi)輪廓為亮圓的特點,進行圖像處理以及刻度線的提取,并根據(jù)刻度線空間分布特點進行驗證,得到暗刻度儀表中刻度線,實現(xiàn)暗刻度儀表中刻度線的檢測刻度線檢測;
3.1)、圓形擬合:利用連通域的輪廓點,作為邊緣點;在這些邊緣點的基礎(chǔ)上,利用hough圓形檢測算法,進行圓形擬合;在完成圓形擬合之后,還需要統(tǒng)計該圓上邊緣點的數(shù)目;如果邊緣點數(shù)目小于圓周長的30%,則舍棄該圓;
3.2)、同心圓檢測:為了提高圓形擬合的質(zhì)量,還需要進行同心圓的檢測;將上一步擬合得到的所有的圓,兩兩之間進行比較;如果兩個圓的圓心坐標歐氏距離小于5個像素,則認為是同心圓;在暗刻度儀表中,僅保留同心圓,非同心圓都舍棄;
3.3)、內(nèi)部輪廓提?。赫业酵膱A中的最大圓,作為暗刻度儀表中圓形表盤的外輪廓;進一步找到該外輪廓所在連通域的內(nèi)部輪廓;在內(nèi)部輪廓的基礎(chǔ)上,進行刻度線的提取和分析;
3.4)、刻度線提取:a)、將內(nèi)部輪廓繪制在新的黑色圖像上,內(nèi)部填充為白色;b)、將內(nèi)部輪廓的部分碎片形成的半徑最小的內(nèi)圓也繪制在另一幅新的黑色圖像上,內(nèi)部填充為白色;c)、使用尺寸為3的正方形核,將內(nèi)圓膨脹;為了降低兩幅圖像在做差時,內(nèi)圓邊界附近出現(xiàn)稍許的殘留像素,影響后續(xù)檢測,需要將內(nèi)圓外擴;d)、輪廓圖與內(nèi)圓圖做差;在輪廓圖中為白色像素,但是在內(nèi)圓圖中為黑色像素的,作為差值圖中的前景像素,否則為背景;e)、在差值圖中提取連通域,作為刻度線;
3.5)、檢測結(jié)果驗證:在得到所有的刻度線之后,需要對其特征進行分析,驗證它們的統(tǒng)一性,從而確定刻度線的檢測是否正確;從如下幾個方面進行驗證:a)、刻度線的延長線是否經(jīng)過或者接近圓心,如果圓心到直線的距離不超過10個像素,則認為經(jīng)過圓心;b)、刻度線平均亮度,彼此不超過20;c)、刻度線的最小外接矩形,長寬比都大于4;d)、刻度線的最小外接矩形,彼此長度之差不超過5個像素,高度之差不超過3個像素;e)、刻度線中心到圓心距離,彼此不差過5個像素;f)、相鄰刻度線之間的此距離,是穩(wěn)定的;多個距離值,彼此相差不超過5個像素;g)、刻度線滿足對稱性;
4)、刻度線角度計算:計算每個刻度線的重心位置;利用刻度線對應的圓心位置,將刻度線重心與圓心相連;計算該連接直線對應的角度值,并且存儲下來;至此,刻度線檢測完成;
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。