本發明涉及一種總線式汽車數字儀表指針功能的在線監測方法,屬于汽車儀表功能監測
技術領域:
。
背景技術:
:按汽車儀表的工作原理不同,可大致分為三代:第一代汽車儀表是機械機芯表;第二代汽車儀表稱為電氣式儀表;第三代為數字汽車儀表,可見其越來越網絡化、智能化,顯示內容更加豐富。對其功能檢測的技術要求也越來越高。常用的汽車儀表中指針部分,一般由車速表、轉速表、水溫表和燃油表四個表盤組成。汽車儀表研發過程中對這四種表盤的測試主要是針對指針偏轉角度誤差的測試,其測試結果的準確性是汽車安全性能控制的關鍵。目前我國還有很多汽車行業采用人工測試方式對指針式儀表進行校驗。這種測試方式不僅效率低下,且易受人的主觀因素如觀測角度、觀測距離及疲勞程度等影響,存在錯檢,甚至漏檢等問題,測試效率和工業生產的自動化程度較低。在自動化測試方面盡管已有相關技術研究,常用的指針定位算法有模板特征法、hough變換指針直線提取法。根據資料(戴亞文,王三武,李金龍.基于圖像處理技術復雜儀表的自動識別[j],計量技術,2003(12):33-35)采用模板特征法實現了機械式水表的指針檢測,其核心思想是采用具有不同參量的模板來匹配指針,從而確定指針的位置和方向。該方法需要事先采集大量指針處于不同位置的表盤圖像,用以獲取指針的形狀、面積、灰度分布、灰度閾值等先驗知識,然后以上述多個特征為準則識別指針方向及示值。模板特征法在理論上取得了較好的效果,然而實際應用過程中,該方法存在極大的時間及空間復雜度,且匹配閾值難以界定。實施起來存在一定的復雜度。應用hough變換來提取指針直線的方法從而確定指針位置,由于hough變換計算量大,占用內存多,變換過程中,耗費了大量的時間來計算冗余的數據,且進行投票的像素點離散無相關性,導致檢測到的直線不準確,減少檢測時所需的時間和提高檢測精度,針對這些問題有學者提出改進的方法如((1)陳彬,金連文.一種儀表指針位置檢測的中心投影法[j].計算機應用研究,2005(1):246-248.(2)郭斯羽,翟文娟等.結合hough變換與改進最小二乘法的直線檢測[j],計算機科學,2012(39):196-200)以上測試方法仍存在速度慢、精度低的問題。本發明提出了一種最小距離直線擬合法提取指針直線并對指針直線進行修正的方法來定位指針位置。本發明提出了一種總線式汽車數字儀表指針功能的在線監測方法,該方法流程包括:向待測汽車儀表發送指針驅動命令、采集圖像、圖像預處理、減影法獲得指針圖像、細化指針圖像、標記指針連通區域、最小距離法擬合指針直線、對指針直線進行修正、計算指針的讀數、判定讀數跟所預設值是否一致,以檢出儀表指針功能是否合格等。該方法具有效率高、可靠性強等特點,適合在自動化生產線上進行推廣。技術實現要素:本發明的目的是提出一種總線式汽車數字儀表指針功能的在線監測方法,該方法基于機器視覺、圖像處理技術,實現對汽車數字儀表指針功能的在線監測,特別是提高了監測效率。一種總線式汽車數字儀表指針功能的在線監測方法,步驟包括:(1)向汽車儀表發送指針驅動命令;(2)采集儀表盤圖像;(3)對采集到的儀表盤圖像進行預處理;(4)通過減影法得到指針圖像;(5)得到的指針圖像進行膨脹、腐蝕、細化;(6)標記指針連通區域,提取出車速表、轉速表、水溫表和燃油表各自指針所在的連通域;(7)通過最小距離直線擬合法提取指針直線;(8)對指針直線進行修正;(9)計算汽車儀表指針讀數。上述監測方法中的各步驟的具體實現如下:(1)實際儀表控制中需要考慮到儀表的響應。比如在儀表指針驅動命令發送成功后,需要等待200ms響應時間后才可以采集圖像,不同的監測項目的相應延時不同。采集圖像消息觸發后就可以繼續發送下一幀命令。其中,指針驅動命令是由上位機發送至儀表并控制其指針運動,攝像機的工作控制命令也由上位機發送并控制相機開始采集儀表圖像。兩個控制命令是分開、獨立的。(2)采集儀表盤圖像,本方案使用的汽車儀表帶有背光,所以不需要外部光源,為了避免外部光照影響圖像質量,提高圖像純凈度,攝像機和儀表需要放置在暗箱里工作,攝像機鏡頭垂直于汽車儀表表盤平面;(3)對采集到的儀表盤圖像進行預處理包括:彩色圖像灰度化、圖像增強(中值濾波、調整灰度和亮度)、圖像二值化。(4)記錄采集到的第i幀的圖像經過圖像預處理后的像素為f(x,y,i),i=1,2,3…,n用減影法提取指針的圖像公式為:fd(x,y)=f(x,y,i+1)-f(x,y,i);對獲得的圖像fd(x,y)進行噪點去除,利用小面積不連通區域算法進行背景噪點的去除,得到只有指針目標的圖像。(5)得到的指針圖像細化,首先對指針圖像進行閉運算再開運算,b對a的閉運算的公式:開運算的公式:使用同一個結構元素對圖像先膨脹再腐蝕,保證指針無斷裂現象;細化指針:二值圖像中只有兩種灰度狀態,通俗的講就是黑白圖像,表1為8鄰域細化模板,圖像中所有像素值只能從1或0兩個值中取,其中p0為中心像素點。令p0=1如果滿足下面四個條件時,則刪除像素點p0。表1p4p3p2p5p0p1p6p7p81)說明p0非鄰域端點或內部點;2)s(p0)=1;說明p0非單像素細線連接點;3)p1·p3·p7=0;說明p0不是鄰域中的左、上端點及左上角點;4)p3·p5·p7=0;說明p0不是鄰域中的右、下端點及右下角點;其中s(p0)是按p1,p2,…,p8,p9的排列順序出現0,1的模式的個數,即從p2到p9有幾次出現0到1(或者1到0)的變化,對圖像中的像素點進行迭代消去。(6)標記指針連通區域,提取出車速表、轉速表、水溫表和燃油表各自指針所在的連通域,選擇使用8連通模板,8連通模板是指一個像素點,如果和其他像素點在所在位置的上、下、左、右、左上角、左下角、右上角或右下角連接著,則認為他們是同一個連通域的。通過不同連通域區分出車速表、轉速表、水溫表和燃油表各自指針所在位置。(7)最小距離法擬合指針直線,設指針上的n個特征點(xi,yi),則第i個特征點(xi,yi)到直線y=kx+b的垂直距離為:式中,k為直線斜率,b為直線截距,i=1,…,n。因此,n個特征點到直線y=kx+b垂直距離平方和為:如果存在稱kd、bd為k、b的最小距離估計。分別取同一指針在不同位置的圖像,根據最小距離法擬合指針直線得到相應的kd、bd。(8)對指針直線進行修正,由獲得的擬合指針直線方程相互之間的交點與指針直線的中心點確定的直線進行最小距離修正,假設指針線兩兩之間的相交點坐標為(xi,yi),i=1,…,n,并假設這些點所擬合的最佳中心點為(a,b)。各相交點到最佳中心點的距離平方和為:如存在稱ad、bd為a、b的最小二乘估計。式中,為n個特征點的橫坐標的平均值,為n個特征點的縱坐標的平均值,令得得各相交點的最佳中心坐標為相交點坐標的平均值。根據計算得到的最佳中心坐標點坐標(ad,bd)與各指針線上特征點的坐標平均值為兩點確定一條直線。但是這樣求得的直線不能達到理想的結果,從細化后的圖像可以看出,指針邊緣存在一些雜點從而影響直線的線性度,所以要對求得的直線進行修正剔除這些雜點,從而提高檢測精準度。現定義點到直線的距離范圍為r,若某點到直線的距離大于r則剔除。具體實現步驟如下:1)通過最佳中心坐標點坐標(ad,bd)與各指針線上特征點的坐標平均值為確定一條直線。2)逐一計算所有點到直線的距離,若大于r則剔除。3)將不滿足條件的像素點剔除后,整理剩余像素點重新擬合得到指針直線參數。(9)計算指針讀數,以指針旋轉中心為原點,設汽車儀表指針在零刻度跟滿刻度時的夾角為2θ,當前指針所在刻度線與零刻度線的夾角為α,指針所在直線的斜率為k,車速表和轉速表運動指針在不同象限對應不同的計算公式:一、二象限,α=θ+90°-tan-1k;三象限,α=θ-90°-tan-1k;四象限,α=270°+θ-tan-1k。燃油表和水溫表運動指針在不同象限對應不同的計算公式:第一、三象限,α=θ-tan-1k;第二、四象限,α=θ+180°-tan-1k。指針所對應的讀數值:d為儀表的總量程。判別計算出的指針讀數和驅動儀表指針運動所設的值是否一致,如不一致則說明儀表指針功能不合格,一致則說明指針功能合格。本發明的有益效果:(1)本發明能夠快速、準確地提取汽車儀表指針位置和形狀,進而實現汽車數字儀表盤指針功能的自動化檢測,提高了檢測的效率和可靠性。適合于數字儀表盤生產線的在線檢測。克服了人工測試帶來的視覺誤差,并且大大提高了測試效率,實現了工業自動化。(2)本發明可實現同時對車速表、轉速表、水溫表和燃油表四個表盤的指針功能進行檢測,大大提高了檢測效率。(3)本發明通過對細化后的指針圖像,用最小距離直線擬合法提取指針直線并對指針直線進行修正,確定指針所在直線的位置,消除了噪聲的干擾,實現了對數字儀表指針功能的自動監測,具有很高的準確度,且大大提高了識別的速度。附圖說明圖1為本發明汽車數字儀表指針功能的在線監測方法的流程框圖。圖2為本發明實施例中指針直線位置信息提取的流程圖。圖3為本發明實施例中經預處理后的圖像。圖4為本發明實施例中通過減影法得到指針圖像。圖5為本發明實施例中對減影后圖像進行噪點去除、細化后的圖像。圖6為本發明實施例圖像細化后所有特征點在圖像中的坐標位置,用最小距離法擬合的指針直線及修正后擬合的指針直線;其中(a)表示車速表指針直線擬合圖;(b)表示燃油表指針直線擬合圖;(c)表示水溫表指針直線擬合圖;(d)表示轉速表指針直線擬合圖。具體實施方式下面結合附圖和實施例對本發明的技術方案作進一步描述:如圖1所示,本發明實施流程包括:向待測汽車儀表發送指針驅動命令、采集儀表盤圖像、圖像預處理、減影法獲得指針圖像、細化指針圖像、標記指針連通區域、最小距離法擬合指針直線、對指針直線進行修正、計算指針的讀數、判定讀數跟預設值是否一致,以判斷指針功能是否合格。如圖2所示,汽車數字儀表指針直線提取方法流程包括:將二值化后的圖像取兩幀同一指針在不同位置的圖像進行圖像減影、細化指針圖像、取指針位置不同的圖像用最小距離法擬合直線、對不同位置的指針直線兩兩之間求交點、求交點的最佳中心點得到指針的旋轉中心、根據最佳中心點跟特征點的坐標平均值兩點確定一直線、對確定的直線進行最小距離修正、得到運動指針的直線參數、運用運動指針與角度間的關系計算指針的讀數。本實施例中將采集到的儀表圖像進行預處理,圖像預處理過程為:彩色圖像灰度化、圖像增強(中值濾波、調整灰度和亮度)、二值化。預處理后的圖像如圖3所示。本實施例中將二值化后的圖像通過減影法獲得只有指針目標的圖像并進行去噪處理,處理過程為:記錄采集到的第i幀的圖像經過圖像預處理后的像素為f(x,y,i),i=1,2,3…,n用減影法提取指針的圖像公式為:fd(x,y)=f(x,y,i+1)-f(x,y,i);對獲得的圖像fd(x,y)進行噪點去除,利用去除小面積不連通區域算法進行背景噪點的去除,得到只有指針目標的圖像。減影去噪后的儀表盤圖像如圖4所示。將獲得的指針圖像進行細化,標注圖像中所有連通區域,提取出車速表、轉速表、水溫表和燃油表各自指針所在的連通域。細化、提取連通域過程為:首先對指針圖像進行閉運算再開運算,細化指針,本實例使用8鄰域細化模板,對圖像中的像素點進行迭代消去。實例中選擇使用8連通模板標記指針連通區域,提取出車速表、轉速表、水溫表和燃油表各自指針所在的連通域。進行細化,標注連通區域后圖像如圖5所示,連通區域1為車速表指針,連通區域2為燃油表指針,連通區域3為水溫表指針,連通區域4為轉速表指針。實施例中首先采集儀表指針在不同位置時的圖像,根據用最小距離法擬合指針直線,得到指針在不同位置時的指針直線方程,由獲得的擬合指針直線方程相互之間的交點與指針直線的中心點兩點確定一條直線,對確定的直線進行修正:本發明選取點到直線的距離范圍為2個像素,若某點到直線的距離大于2則剔除。具體實現步驟如下:2)逐一計算所有點到直線的距離,若大于2則剔除。3)將不滿足條件的像素點剔除后,整理剩余像素點重新進行最小距離直線擬合得到指針直線參數。通過以上方法得到運動指針的直線參數。本發明對圖像中指針特征點用最小距離法擬合的指針直線及修正后擬合的指針直線如圖6所示,其中,(a)車速表指針直線擬合圖;(b)燃油表指針直線擬合圖;(c)水溫表指針直線擬合圖;(d)轉速表指針直線擬合圖。計算指針讀數,這里以車速表為例,在以指針旋轉中心為原點,設車速表指針在零刻度跟滿刻度時的夾角為2θ,當前指針所在刻度線與零刻度線的夾角為α,指針所在直線的斜率為k,運動指針在不同象限對應不同的計算公式:一、二象限,α=θ+90°-tan-1k;三象限,α=θ-90°-tan-1k;四象限,α=270°+θ-tan-1k。指針所對應的讀數值:d為儀表的總量程。本發明根據以上公式求得指針在零刻度時與x軸負方向夾角為26°,滿刻度時與x軸正方向夾角26°,計算得指針零刻度與滿刻度的夾角為232°,如圖6中所示,為車速表指針預設值為40km/h時指針所在位置擬合的指針直線,計算出此時指針直線與零刻度時的夾角為38.9°,根據公式求得此時指針的讀數為40.24km/h,跟預設的車速值對比,由偏差公式:丨測得值-預設值丨/預設值,計算得偏差為0.006km/h,設定合適的偏差范圍,可以說明此時車速表指針功能合格與否。發送不同的儀表指針驅動指令改變預設值,用相同的方法對汽車數字儀表盤指針進行全盤位置的檢測,最終得出該儀表盤是否合格的判斷。上文所列出的一系列的詳細說明僅僅是針對本發明的可行性實施方式的具體說明,它們并非用以限制本發明的保護范圍,凡未脫離本發明技藝精神所作的等效實施方式或變更均應包含在本發明的保護范圍之內。當前第1頁12