摘要:為了測(cè)量高溫或其他不宜直接接觸的工件,提出了一種基于Canny算子的邊緣檢測(cè)法測(cè)量工件的尺寸,該方法通過(guò)對(duì)原始器件圖像的二值化處理,提取工件的輪廓,再進(jìn)行閾值檢測(cè)并返回輪廓坐標(biāo)從而確定工件的相關(guān)參數(shù)。與傳統(tǒng)接觸式測(cè)量方法相比,該方法能對(duì)高溫等物體進(jìn)行測(cè)量,同時(shí)該方法有測(cè)量精度高等特點(diǎn)。理論及計(jì)算機(jī)仿真表明,該方法切實(shí)有效,有良好的應(yīng)用前景。
關(guān)鍵詞:非接觸式測(cè)量;Canny算子;邊緣檢測(cè);二值化;閾值檢測(cè)
中圖分類號(hào):TP751 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)04-0849-03
Non-contact Measurement of Workpiece Based on Canny Operator
YOU Xiao-long, LIU Song-lin
(School of Electronic & Information Engineering, Nanjing University of Information Science & Technology, Nanjing 210044 , China)
Abstract: In order to measure the size of high temperature or other untouchable workpieces, a method based on Canny operator is proposed.This method take the original device image and then processing two values, extracting the contour of the workpiece, then takes threshold detection and returns the contour coordinates to determine the workpiece parameters. Compared with the traditional contact measurement methods ,this method can measure the high temperature workpieces and has the characteristics of higher measurement accuracy.Theory and computer simulation show that this method is effective,and it has a good application prospects.
Key words: non contact measurement; canny operator;edge detection; two values; threshold detection
工業(yè)產(chǎn)品形狀及尺寸的測(cè)量是現(xiàn)代化工業(yè)生產(chǎn)的重要環(huán)節(jié),測(cè)量結(jié)果的準(zhǔn)確性與時(shí)效性直接影響著產(chǎn)品生產(chǎn)的質(zhì)量與效率[1]。隨著現(xiàn)代化工業(yè)迅速發(fā)展的需要以及測(cè)量技術(shù)的進(jìn)步,越來(lái)越多的測(cè)量手段不斷涌現(xiàn),其中借助于計(jì)算機(jī)實(shí)現(xiàn)的對(duì)高溫等不宜直接接觸零部件的測(cè)量方法是現(xiàn)代化測(cè)量技術(shù)之一。基于圖像處理的機(jī)械零件檢測(cè)方法是現(xiàn)代化檢測(cè)技術(shù)的發(fā)展趨勢(shì)之一,其對(duì)微小、復(fù)雜的工件形狀及尺寸的測(cè)量有突出的優(yōu)點(diǎn)[2]。
圖像測(cè)量技術(shù)在工業(yè)測(cè)量領(lǐng)域的實(shí)際應(yīng)用可以追溯至20世紀(jì)90年代,圖像測(cè)量技術(shù)的核心是圖像處理技術(shù)[2]。該文提出的測(cè)量原理與方法RwoQtvbRhSzPRxk28BUE+8h244KQJSWdSUe2JOg6RzY=:首先通過(guò)掃描儀器獲取被測(cè)工件的掃描圖像,然后由Matlab 程序?qū)ぜ呙鑸D像進(jìn)行以下處理和檢測(cè):1) 對(duì)圖像進(jìn)行中值濾波;2) 對(duì)圖像進(jìn)行二值化處理;3) 圖像的輪廓邊緣提?。?) 對(duì)圖形矩陣進(jìn)行閾值檢測(cè),并返回輪廓坐標(biāo);5) 根據(jù)返回的坐標(biāo)計(jì)算工件的相關(guān)參數(shù)。
2.1基本原理
本文所測(cè)工件為圓形,如圖1所示。
2.2 中值濾波原理
中值濾波器是一種常用的非線性平滑濾波器[3]。掃描儀器在掃描工件時(shí)不可避免地引入干擾,從而在掃描圖像上出現(xiàn)干擾噪聲,因此,對(duì)掃描圖像進(jìn)行去噪處理、增強(qiáng)圖像質(zhì)量就顯得尤為重要,中值濾波器的應(yīng)用是去噪處理技術(shù)的關(guān)鍵步驟之一[4]。中值濾波器的原理是將原始圖像像素值用其領(lǐng)域的圖像灰度中值代替,其先將濾波器的模板所對(duì)應(yīng)的灰度值[a1,a2,...,an]排列順序,若n為偶數(shù),則所取中值為濾波器模板處于中間位置所對(duì)應(yīng)兩個(gè)數(shù)值的平均值;若n為奇數(shù),則所取中值為濾波器模板處于中間位置所對(duì)應(yīng)的數(shù)值[4]。中值的個(gè)數(shù)及窗口的形狀與大小的選擇均取決于領(lǐng)域的大小,其中窗口的形狀選擇較多,可以是圓形、矩形等,窗口的選擇對(duì)中值濾波器濾波后的效果有較大的影響[5]。在本文中,對(duì)圖1的圖像進(jìn)行中值濾波后圖像如圖2所示。
由圖2可見(jiàn),在原圖像(圖1)中噪聲干擾很小,所以濾波前后圖像變化不明顯。
2.3 Canny邊緣檢測(cè)算子
首先將圖2作二值化處理,如圖3所示。若用“1”表示白色,“0”表示黑色,則整個(gè)圖像是由值“0”和“1”構(gòu)成的二維矩陣,即稱為二值圖像[5]。在圖像的邊緣集中存在大部分圖像信息,其灰度值在一個(gè)較小的區(qū)域范圍內(nèi)變化迅速,可從一個(gè)很小的值急速變化到一個(gè)很大的值,即其剖面的灰度值可以看成是一個(gè)階躍[6]。由于圖像邊緣所蘊(yùn)含的信息量較大,因此,圖像邊緣的識(shí)別與檢測(cè)對(duì)于整幅圖像的識(shí)別與檢測(cè)有重要意義[7]。對(duì)于傳統(tǒng)的測(cè)量方式,視覺(jué)邊緣檢測(cè)的準(zhǔn)確性與時(shí)效性直接影響著整幅圖像信息檢測(cè)的精度與識(shí)別能力。在原圖像的基礎(chǔ)上,對(duì)整幅圖像的各個(gè)像素所在的領(lǐng)域內(nèi)灰度值變化的檢測(cè)即階躍變化的檢測(cè)是經(jīng)典的邊緣檢測(cè)方法,其原理是根據(jù)對(duì)邊緣領(lǐng)域的導(dǎo)數(shù)(一階或二階)變化規(guī)律來(lái)檢測(cè)和識(shí)別圖像的邊緣。常用的邊緣檢測(cè)算子較多,有:Sobel 算子、 Prewitt 算子、Roberts 算子、Laplace 算子、Canny 算子等[8]。該文采用的是Canny算子,該算子的優(yōu)點(diǎn)在于:具有檢測(cè)準(zhǔn)確、定位精度高、不易受噪聲影響、實(shí)際應(yīng)用廣泛等,同時(shí),其采用兩種不同的閾值分別檢測(cè)強(qiáng)邊緣和弱邊緣, 并且僅當(dāng)弱邊緣和強(qiáng)邊緣相連時(shí), 才將弱邊緣包含在輸出圖像中[9]。因此, 這種方法對(duì)于圖像的弱邊緣有更強(qiáng)的檢測(cè)能力,能夠較好地平衡對(duì)邊緣與噪聲的識(shí)別。Canny算子的方向性質(zhì)使得它的檢測(cè)邊緣與定位具有更好的邊緣強(qiáng)度估計(jì),能產(chǎn)生梯度方向和強(qiáng)度兩個(gè)信息,方便了后續(xù)處理。
對(duì)階躍邊緣,Canny推導(dǎo)出的最優(yōu)二維算子的形狀與Gaussian函數(shù)的一階導(dǎo)數(shù)相近[10],取Gaussian函數(shù)為:
[G(x,y)=12πσ2ex2+y22σ2] (1)
在某一方向n上,[G(x,y)]的一階方向?qū)?shù)為:[Gn(x,y)=?G(x,y)?n=n?G(x,y)] (2)
式中, [n=cosθsinθ], [?G(x,y)=?G(x,y)?x?G(x,y)?y] (3)
因此,對(duì)應(yīng)于[Gn*f(x,y)]變化最強(qiáng)的方向?qū)?shù)為: [n=?G(x,y)*f(x,y)?G(x,y)*f(x,y)] (4)
在該方向上[Gn*f(x,y)]有最大的輸出響應(yīng):
[Gn*f(x,y)=cosθ?G(x,y)?x*f(x,y)+sinθ?G(x,y)?y*f(x,y)=?G(x,y)*f(x,y)] (5)
經(jīng)Canny 算子進(jìn)行邊緣檢測(cè)后, 結(jié)果如圖4。將圖像取作[2048×2048]的矩陣,再對(duì)圖形矩陣進(jìn)行閾值檢測(cè),把相應(yīng)的灰度選出[11,12],并返回坐標(biāo)如圖5、圖6所示,其中,圖5為圓的上半部分,圖6為圓的下半部分。
2.4 確定圓心坐標(biāo)及半徑
根據(jù)圖5或圖6中返回的坐標(biāo),確定圓上三個(gè)點(diǎn),從而確定圓心的坐標(biāo)及圓的半徑,取其中三個(gè)點(diǎn)分別為:[(960.6 , 230.1)];[(195.3 , 704.2)];[(1844.0 , 821.6)] ,經(jīng)計(jì)算可得,圓心坐標(biāo)為[(998.13 , 1129.28 )],半徑為:[900.01]。將相關(guān)圖像的實(shí)際尺寸作相應(yīng)變換即可得到實(shí)際工件的大小。
3 結(jié)論
本文針對(duì)在工程實(shí)際中存在不宜直接接觸式測(cè)量的工件,提出了基于Canny算子的工件非接觸式測(cè)量的方法。在MATLAB圖像處理的基礎(chǔ)上,結(jié)合圖像的中值濾波、二值化、輪廓提取、閾值檢測(cè)等操作,最后得到圖像中工件的輪廓部分點(diǎn)的坐標(biāo),運(yùn)用二維平面圖形知識(shí)計(jì)算出圓形工件的圓形坐標(biāo)和半徑。理論及計(jì)算機(jī)仿真結(jié)果表明了該方法的有效性和精確性。
參考文獻(xiàn):
[1] 劉霞.論非接觸測(cè)量技術(shù)應(yīng)用在機(jī)械檢測(cè)上的必要性[J].包鋼科技,2012,38(5):60-62.
[2] 孫鳳杰,楚征,范杰清.高壓輸電線圖像邊緣檢測(cè)方法研究[J].電力系統(tǒng)通信,2010,31(210):36-39.
[3] 郝文化,田蕾,董秀芳,等.MATLAB圖形圖像處理應(yīng)用教程[M].北京:中國(guó)水利水電出版社,2003.
[4] 謝道平.二維數(shù)字圖像邊緣檢測(cè)方法研究[J].大眾科技,2010(8):34-36.
[5] 姜彬,施志剛.圖像分割技術(shù)分析與展望[J].電腦知識(shí)與技術(shù),2009,5(35):66-68.
[6] 張進(jìn)猛,張進(jìn)秋.基于OpenCV的圖像采集和處理[J].軟件導(dǎo)刊,2010,9(1):164-165.(下轉(zhuǎn)第854頁(yè))
(上接第851頁(yè))
[7] 郭文強(qiáng),侯俊勇.數(shù)字圖像處理[M].西安:西安電子科技大學(xué)出版社,2009.
[8] 周志峰.一種正六邊形檢測(cè)方法的研究[J].應(yīng)用光學(xué).2012,33(1):129-133.
[9] 張思俊,王樂(lè)樂(lè),陸振宇.基于Canny算子邊緣檢測(cè)的車牌圖像增強(qiáng)方法[J].重慶交通大學(xué)學(xué)報(bào):自然科學(xué)版,2012,31(3):439-442.
[10] 殷紅,孟建軍,蔣兆遠(yuǎn).圖像處理對(duì)影像檢測(cè)改進(jìn)算法的研究[J].蘭州交通大學(xué)學(xué)報(bào)2008,27(3): 107-110.
[11] 紀(jì)利娥,楊風(fēng)暴,王志社,等.基于邊緣圖像和SURF特征的可見(jiàn)光與紅外圖像的匹配算法[J].紅外技術(shù).2012,34(11):629-634.
[12] 陳明志.數(shù)字圖像邊緣檢測(cè)算子的性能實(shí)驗(yàn)比較[J].電腦知識(shí)與技術(shù),2006,35(1):159-160.