伍哲, 郭文勇, 張文群
(海軍工程大學(xué)動(dòng)力工程學(xué)院,武漢430033)
齒輪作為傳遞運(yùn)動(dòng)和動(dòng)力的基礎(chǔ)零件在機(jī)械設(shè)備中運(yùn)用極其廣泛,齒輪參數(shù)的測(cè)量隨著其他領(lǐng)域技術(shù)的發(fā)展而不斷進(jìn)步。傳統(tǒng)的接觸式測(cè)量方法較復(fù)雜,價(jià)格昂貴,對(duì)設(shè)備的使用和維護(hù)成本較高,給實(shí)際的測(cè)量帶來(lái)了很大的麻煩。隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字圖像處理是一門新技術(shù),數(shù)字圖像處理函數(shù)算法的出現(xiàn),使圖像處理速度越來(lái)越快,精確度越來(lái)越高,操作越來(lái)越方便,而且具有非接觸性可視化[1-3]、自動(dòng)化和智能性高等優(yōu)點(diǎn),可廣泛應(yīng)用于各種實(shí)時(shí)在線的齒輪精密測(cè)量。
本齒輪圖像采用SolidWorks軟件建模,在不同背景不同比例尺下完成的原圖設(shè)定,在識(shí)別原圖像時(shí),增加處理時(shí)間,也會(huì)導(dǎo)致后期處理的麻煩,因此,將原圖轉(zhuǎn)化為灰度圖像是有必要的。根據(jù)三基色原理,每一種光都可以分解成紅、綠、藍(lán)三種基礎(chǔ)顏色光。所謂的灰度圖像是指在RGB三基色系統(tǒng)中[4],從最暗的黑色到最亮的白色的灰度3個(gè)分量值R、G、B按不同的比例混合成各種顏色,經(jīng)過(guò)這樣的前期變換,會(huì)縮短后期圖像處理時(shí)間。利用MATLAB圖像處理工具箱中的函數(shù)即實(shí)現(xiàn)將RGB圖像轉(zhuǎn)換為灰度圖像程序[5]如下:
本文選取兩組圖片(A組照片為兩圖片在不同偏轉(zhuǎn)角度的同一黑色背景顏色,B組為在同一背景顏色的不同齒輪顏色),研究哪種因素對(duì)實(shí)驗(yàn)結(jié)果的影響偏大,并研究該因素對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生怎樣的影響。
圖1 齒輪角度不同時(shí)對(duì)齒輪讀取
圖2 齒輪顏色不同時(shí)對(duì)齒輪讀取
圖3 經(jīng)MATLAB處理后所得灰度圖像
圖4 增強(qiáng)的灰度圖像
灰度圖像處理是將含有亮度和色彩的圖像變換成只含亮度圖像的過(guò)程,為了提高圖像清晰度,顯示圖像所需要的細(xì)節(jié)部分,增強(qiáng)對(duì)比度,需要增強(qiáng)圖像的灰度級(jí)別[6],對(duì)圖像的后期處理更加方便,故對(duì)灰度圖像進(jìn)一步處理后的圖像為增強(qiáng)高度灰度級(jí)圖像,其運(yùn)行程序如下:
邊緣檢測(cè)是圖像處理的基本問(wèn)題,經(jīng)過(guò)檢測(cè)的圖像可以剔除不相關(guān)的信息保留圖像的結(jié)構(gòu)屬性。MATLAB中提供了一種edge函數(shù)用于灰度圖像的邊緣檢測(cè),本文采用canny方法[7]進(jìn)行圖像的邊緣檢測(cè),這種方法抗噪聲干擾的能力很強(qiáng),能夠較為全面地檢測(cè)到圖像的邊緣,也包括讀取困難的弱邊緣輪廓,因此運(yùn)用越來(lái)越廣泛了。經(jīng)邊緣檢測(cè)處理后的圖片效果如圖5所示。
圖5 齒輪邊緣檢測(cè)圖像
經(jīng)比較,A組同一比例尺不同偏轉(zhuǎn)角度下,圖1顯示黑色背景,圖2在原圖白色背景下處理結(jié)果,很好地顯示了弱邊緣。處理程序如下:
該直方圖是灰度函數(shù)處理所得,它表示經(jīng)處理后的圖像中具有某種灰度級(jí)的像素出現(xiàn)的次數(shù),其中橫坐標(biāo)是灰度等級(jí),縱坐標(biāo)是該灰度級(jí)出現(xiàn)的次數(shù),在圖像處理中直方圖概括了一個(gè)圖像灰度級(jí)內(nèi)容。MATLAB中提供了imhist函數(shù)[8]來(lái)實(shí)現(xiàn)灰度圖像的直方化,處理后灰度圖像層次分明,相當(dāng)于增加了圖像的對(duì)比度,使圖像看起來(lái)更加清晰。處理圖像程序如下:
圖6 齒輪圖像直方化
本文中用于分析的齒輪模型是具有鍵槽的,在確定齒輪中心點(diǎn)或質(zhì)心坐標(biāo)的過(guò)程中提供參照,在MATLAB中,imfill函數(shù)[9]用于實(shí)現(xiàn)圖像區(qū)域孔洞的填充,在圖片處理的灰度圖像中幾個(gè)點(diǎn)圍成的空洞區(qū)域即要填充的區(qū)域,本文給出的齒輪模型中間的鍵槽就是需要填充的區(qū)域,對(duì)于質(zhì)心和中心位置的確定很有幫助。填充圖像程序如下:
圖7 齒輪圖像的填充
運(yùn)用MATLAB處理齒輪圖像的最終目的就是獲得相對(duì)精確的基本的齒輪參數(shù)數(shù)據(jù),進(jìn)而利用公式計(jì)算出其他參數(shù)。直齒圓柱齒輪的參數(shù)有很多,但決定齒輪齒形和尺寸的基本參數(shù)只有5個(gè),即齒輪齒數(shù)z、模數(shù)m、壓力角a、齒頂高系數(shù)h、齒隙系數(shù)c,上述5個(gè)參數(shù)均已標(biāo)準(zhǔn)化;通過(guò)軟件的識(shí)別技術(shù),在確定齒輪中心點(diǎn)的前提下可以測(cè)得齒輪分度圓直徑,通過(guò)公式計(jì)算求得齒輪任意參數(shù),是一種比較實(shí)用的方法。
齒輪中心點(diǎn)的確定是在齒輪圖像中用坐標(biāo)表示的,即便在不同的比例尺下也可以確定,對(duì)于不帶鍵槽的直齒圓柱齒輪,可以利用重心法、最小二乘法的圓擬合法、Hough圓檢測(cè)法確定中心[10];對(duì)于帶鍵槽的直齒圓柱齒輪,中心點(diǎn)的檢測(cè)只能用最小二乘法的圓擬合法、Hough圓檢測(cè)法;對(duì)于沒(méi)有內(nèi)孔的齒輪,采用重心法比較合適。齒輪圖像經(jīng)過(guò)二值化后所有的灰度值非1即0,找出齒輪上灰度值為1的像素點(diǎn),將其橫坐標(biāo)xi和縱坐標(biāo)yi,分別除以像素點(diǎn)的個(gè)數(shù)n;就可以得到近似的齒輪圓心座標(biāo)(x0,y0),確定圓心的程序如下:
圖8 齒頂圓圓心點(diǎn)的確定
通過(guò)上一步確定了齒輪的圓心以及前面的圖像處理過(guò)程,可以清楚地讀取出齒頂圓或者齒根圓的直徑,利用公式da=m(z+2)或df=d-2hf=m(z-2.5)便可以得到齒輪模數(shù)。中心確定后就可以搜索出齒輪邊界上的點(diǎn)參考中心點(diǎn)的相對(duì)坐標(biāo)。假如前期圖像預(yù)處理比較理想,那么齒頂圓和齒根圓接近圓,在圖片讀取的過(guò)程中得到相對(duì)精確的數(shù)據(jù)。在理想情況下,假設(shè)從齒輪輪廓某點(diǎn)處展開(kāi)在齒輪輪廓標(biāo)記點(diǎn)到中心的距離是一個(gè)周期函數(shù),并且齒根和齒頂在同一高度,因此所得的齒頂圓不變。測(cè)量齒輪齒頂圓半徑程序如下:
L=bwlabel(M,8);%標(biāo)記連通區(qū)域通道為8
stats=regionprops(L);%由于圖像的截取原因,圖像最上邊有一個(gè)白色目標(biāo)
將所得結(jié)果取平均,弱化誤差
R1=stats(2);Bounding Box(3)/2
R2=stats(2);Bounding Box(4)/2
所得的結(jié)果,其齒頂圓半徑分別為r1=19.3 mm、r2=15 mm、r3=19.5 mm、r4=20.5 mm。
在前面已經(jīng)測(cè)得了齒輪齒頂圓直徑,可以由公式da=m(z+2)計(jì)算出m的值,由于模數(shù)已經(jīng)標(biāo)準(zhǔn)化,然后利用此計(jì)算的大致結(jié)果與GB 1357-87中的標(biāo)準(zhǔn)模數(shù)系列進(jìn)行對(duì)比,取得相近的值[11]。在上文中顯示的齒頂圓直徑以及公式計(jì)算的結(jié)果,對(duì)照標(biāo)準(zhǔn)模數(shù)表選取模數(shù)m=2。
正確認(rèn)識(shí)誤差的性質(zhì),分析誤差產(chǎn)生的原因,設(shè)計(jì)、選用合理的測(cè)量?jī)x器從根本上減小誤差,得到更加接近真實(shí)值的數(shù)值,誤差是測(cè)量值與被測(cè)量真值之間的差。本文中齒輪是由SolidWorks建模所得到的,在建模過(guò)程中所確定的圖形尺寸齒頂圓半徑為20 mm,齒數(shù)為34,但在程序運(yùn)行過(guò)程中圖片處理、中心點(diǎn)的確定、尺寸的讀取都會(huì)存在偏差[12-19],因此可以通過(guò)絕對(duì)誤差和相對(duì)誤差來(lái)分析,如表1所示。
表1 絕對(duì)誤差和相對(duì)誤差分析
通過(guò)上面的誤差分析可以得到:在齒輪偏轉(zhuǎn)接近60°和齒輪顏色接近亮色時(shí)得到的齒輪參數(shù)數(shù)據(jù)比較接近理論值。本文利用一種簡(jiǎn)單的成本低廉非接觸式方法測(cè)量齒輪的參數(shù),在工程中可以運(yùn)用到小而且精度要求高的齒輪測(cè)量上,給實(shí)際工作帶來(lái)很大的方便;在文中僅僅描述一種測(cè)量漸開(kāi)線標(biāo)準(zhǔn)圓柱齒輪齒頂圓的算法,但對(duì)于擁有眾多基本參數(shù)的齒輪,這種算法還有很多不足之處。