金遠(yuǎn)偉,王婭冰,張雅男
(南京信息工程大學(xué),江蘇南京 200044)
利用Matlab實(shí)現(xiàn)RGB三基色法測量細(xì)絲直徑
金遠(yuǎn)偉,王婭冰,張雅男
(南京信息工程大學(xué),江蘇南京 200044)
基于衍射原理,實(shí)現(xiàn)RGB三基色法測量細(xì)絲直徑。先通過實(shí)驗得到細(xì)絲衍射圖像,然后利用Matlab編寫程序及設(shè)計界面處理RGB圖像,最終計算出細(xì)絲直徑。測量結(jié)果與其他方法相比具有測量精度高、速度快、非接觸、使用方便等特點(diǎn)。
衍射圖像;細(xì)絲直徑;RGB
在工業(yè)生產(chǎn)和科學(xué)實(shí)驗中,經(jīng)常碰到尺寸較小的細(xì)絲直徑的測量問題.細(xì)絲直徑測量的方法有許多,傳統(tǒng)測量方法通常有兩種:一種是靜態(tài)測量,另一種是動態(tài)測量。靜態(tài)測量的解決方案,往往采用傳統(tǒng)的精密量具進(jìn)行,這種方法雖然簡單,但在實(shí)際應(yīng)用中具有很大的局限性。
物理實(shí)驗中可以利用衍射的方法實(shí)現(xiàn)單縫寬度和細(xì)絲直徑測量。這滿足了非接觸測量的要求。但結(jié)果的精確度受到測量人員熟練程度,測量儀器精確度和測量環(huán)境等因素的影響。本文提出一種方法,只要將激光直射細(xì)絲產(chǎn)生的衍射圖像導(dǎo)入處理軟件,細(xì)絲直徑以及相關(guān)數(shù)據(jù)及不確定度等就可以立刻顯示在界面上。這種處理圖像而得到測量結(jié)果的方法不僅精度高(30~150 μm),而且不需人工測量,方便快捷。
根據(jù)夫瑯禾費(fèi)衍射理論和巴比涅互補(bǔ)原理,當(dāng)細(xì)光束照射在細(xì)絲上時,其衍射效應(yīng)和狹縫一樣。即直徑為d的細(xì)絲產(chǎn)生的衍射圖樣與寬度為d的狹縫產(chǎn)生的衍射圖樣相同[1],見圖1。產(chǎn)生暗條紋的條件是[2]:
其中,λ為激光光源波長。由于
即只需測出第k個暗條紋的位置xk就可以計算出細(xì)絲的直徑d。
圖1 細(xì)絲衍射原理圖
2.1 RGB模式
國際照明委員會(CIE)規(guī)定700 nm(紅色Red),546.1 nm(綠色Green),435.8 nm(藍(lán)色Blue)三個色光為三基色,又稱為物理三基色[3](RGB)。RGB模式是基于自然界中3種基色光的混合原理,將紅、綠和藍(lán)3種基色按照從0(黑)到255(白色)的亮度值在每個色階中分配,從而指定其色彩。當(dāng)不同亮度的基色混合后,便會產(chǎn)生出256×256×256種顏色,約為1670萬種。所有的顯示器,投影設(shè)備以及電視等許多設(shè)備都是依賴這種加色模式實(shí)現(xiàn)的[4]。
2.2 RGB圖像
對一種顏色進(jìn)行編碼的方法統(tǒng)稱為“顏色空間”或“色域”。用最簡單的話說,世界上任何一種顏色的“顏色空間”都可定義成一個固定的數(shù)字或變量。RGB(紅、綠、藍(lán))只是眾多顏色空間的一種。采用這種編碼方法,每種顏色都可用三個變量來表示為紅色綠色以及藍(lán)色的強(qiáng)度。用RGB模式記錄及顯示的彩色圖像稱為RGB圖像。
2.3 RGB圖像的處理
對于一個由m×n個像素構(gòu)成的彩色圖像來說,利用Matlab讀取這個圖像可以建立相對應(yīng)的m×n×3的三維數(shù)組[5]。在這個數(shù)組中,前兩維表示像素位于圖像中的位置,而第三維定義的是圖像中每一個像素的紅,綠,藍(lán)顏色強(qiáng)度值。紅,綠,藍(lán)這三種顏色的強(qiáng)度都可以用一個0~1之間的數(shù)值表示。如某一個像素的三種顏色強(qiáng)度分量為(0,0,0),則該像素顯示為黑色;顏色強(qiáng)度分量為(1,1,1)的像素顯示為白色。每一個像素的RGB強(qiáng)度分量都存儲在數(shù)組的第三維元素中。如:像素(10,5)的RGB強(qiáng)度分量分別保存在數(shù)組RGB(10,5,1),RGB(10,5,2),RGB(10,5,3)中。將如圖2所示的細(xì)絲衍射圖像進(jìn)行RGB矩陣化處理,選取顏色強(qiáng)度分量變化最多的一行即為衍射條紋所在行。將該行像素的顏色分量值提取出計算得到該像素的顏色強(qiáng)度M。
其中,R,G,B分別表示合成該像素的三基色強(qiáng)度分量。再將該行每一個像素的列標(biāo)度和顏色強(qiáng)度組成一個新的二維數(shù)組,這一處理過程稱作圖像的二值化。根據(jù)這個新的數(shù)組做出衍射條紋光強(qiáng)分布圖,見圖2。
圖2 細(xì)絲衍射圖像
根據(jù)衍射原理可知,相鄰的暗條紋中心點(diǎn)相距為λ/d。對照圖3,第一個谷值點(diǎn)是第一級暗紋的中心點(diǎn)。它與第二個谷值點(diǎn)的橫坐標(biāo)差值為5,即兩者相差5個像素。圖2的像素值為96dpi(dpi是指每英寸像素點(diǎn)的個數(shù))。這樣就可以計算出相鄰的一、二谷值點(diǎn)之間的距離。利用這種方法求出一、二、三級暗條紋中心點(diǎn)的間距,然后取平均值,再代入公式(3)中就可以計算出細(xì)絲直徑。
圖3 衍射光強(qiáng)分布圖
2.4 細(xì)絲直徑各種測量方法的比較
根據(jù)以上介紹的RGB圖像處理方法可以利用Matlab軟件編寫相關(guān)程序。再利用GUI功能可以實(shí)現(xiàn)窗口化。圖4顯示了經(jīng)過設(shè)計的圖形用戶界面。只需將衍射圖像導(dǎo)入圖形窗口,再輸入相關(guān)數(shù)值就可計算出細(xì)絲直徑。表一中給出三種不同方法測量細(xì)絲直徑的結(jié)果比較。從表中可以看出,傳統(tǒng)的測量工具千分尺測量精度最差;大學(xué)物理實(shí)驗中所用的硅光電池讀取暗條紋位置的方法精確度較好。RGB方法精確度最高。這種方法不僅可以用來測量細(xì)絲直徑,也可以測量單縫寬度。RGB方法實(shí)現(xiàn)數(shù)字化,只需將衍射圖片導(dǎo)入程序就可以計算出結(jié)果,使實(shí)驗方便快捷,準(zhǔn)確度高。
圖4 RGB方法測量細(xì)絲直徑用戶界面
表1 各種方法測量細(xì)絲直徑結(jié)果比較
文章介紹了一種利用Matlab實(shí)現(xiàn)RGB圖像測量細(xì)絲直徑的方法。與用千分尺人工測量和大學(xué)物理實(shí)驗中利用硅光電池測量細(xì)絲直徑相比,該方法簡單快捷,精確度高。利用該方法不僅可以掌握單縫或細(xì)絲衍射的光學(xué)知識,而且也可以學(xué)習(xí)到RGB圖像的相關(guān)知識及Matlab軟件的應(yīng)用。這在完成教學(xué)任務(wù)的基礎(chǔ)上又?jǐn)U大了學(xué)生的知識面,對教學(xué)起到了良好的輔助作用。
[1] 陳玉林,李傳起.大學(xué)物理實(shí)驗[M].北京:科學(xué)出版社,2007.
[2] 劉克哲,張承琚.物理學(xué):下卷[M].北京:高等教育出版社,2007.
[3] 黃城,周學(xué)平,林旭升.太陽光對液晶顯示器件光學(xué)特性的影響[J].光譜學(xué)與光譜分析,2006,26(1):175-177.
[4] 姜言森,歐陽艷東.LCD三基色光譜特性的研究[J].光譜學(xué)與光譜分析,2007,27(12):2494-2497.
[5] 張志涌,楊祖櫻.MATLAB教程R2010a[M].北京:北京航空航天大學(xué)出版社,2010.
The Measurement of Three Primary Colors RGB Filament Diameter Using Matlab
JIN Yuan-wei,WANG Ya-bing,ZHANG Ya-nan
(Nanjing University of Information Science &Technology,Jiangsu Nanjing 200044)
Based on the theory of diffraction,RGB tricolor method is proposed for measuring fine-wire diameter.The diffraction image of filament is obtained by experiment and the program with interface can manage the RGB image using Matlab.Compared with other methods,the RGB method has the advantages of high-precision,high-speed,non-contact,convenient operation.
diffraction image;fine-wire diameter;RGB
O 436.1
A
1007-2934(2011)05-0082-03
2011-03-16