摘要:介紹了數字圖像處理技術在螺紋檢測中的應用,通過對中值濾波、邊緣檢測、二值化等的講解,探討了數字圖像處理的一般性技術,并給出了螺紋幾何尺寸的測量的算法。從理論和實踐中證明了此種方法的正確性和研究的必要性。
關鍵詞:數字圖像處理;中值濾波;邊緣檢測 二值化
1簡介
傳統的螺紋檢測方法,是通過螺紋通止規進行人工測量,當螺紋的牙型落在公差帶的范圍內,則認為螺紋的質量是合格的。其優點是經濟性好,操作簡單;其缺點是螺紋的質量保證水平偏低,存在許多技術漏洞。比如,當螺紋的質量非常差時,檢測人員會不知所措,不知道問題出在哪里,同時,對于大批量螺紋的檢測,費時費力,檢測精度不高,更無法實現自動化。
圖像處理技術產生于上世紀20年代,發展于上世紀80年代,特別是由于近年來計算機處理速度的提高和CCD攝像技術的發展,基于數字圖像理的檢測技術得到了飛速的發展。
2、工作原理
使用數字圖像處理技術對螺紋進行檢測,其工作原理為:利用CCD攝像頭采集待檢測螺紋的圖像,將連續的BMP圖像處理為數字圖像,然后對圖像進行二值化、中值濾波及邊緣檢測處理,提取出螺紋的輪廓,并通過一定的算法,計算出螺紋的幾何參數,然后將其與標準螺紋參數相比較,以判斷螺紋是否合格。
3、圖像處理
3.1圖像的預處理
眾所周知,實際獲得的圖像在形成、傳輸、接收和處理的過程中,不可避免的存在著外部或內部干擾,我們將之稱之為噪聲。噪聲惡化了圖像的質量、使圖像模糊、特征淹沒,給分析帶來困難。因此,在預處理階段,主要目的是去除圖像的噪聲。
對圖像進行濾波除噪有均值濾波、高斯濾波及中值濾波等多種方法。考慮到中值濾波既可以消除噪聲(特別是針對胡椒粉式或脈沖式噪聲)又可以保持圖像的細節,使圖像的輪廓清晰的特點,本檢測系統的軟件使用中值濾波。
中值濾波是最簡單的線性濾波,其基本思想是用像素點鄰域灰度值的中值來代替該像素點灰度值。其原理為:設有一個一維序列f1,f2,f3,… fn,取該窗口長度(點數)為m(m為基數),對一系列進行中值濾波,就是從序列中相繼抽取m個數fi-v,…fi-1,fifi+1,…fi+v;其中,f1為窗口的中心點值,v=(m-1)/2。再將這m個點值按其數值大小排序,取中間的那個作為濾波輸出,用數學公式表示為:
3.2邊緣輪廓提取
圖像的邊緣是圖像的最基本特征,它蘊含了豐富的內在信息(如方向、階躍性質、形狀等),是圖像識別中抽取圖像特征的重要屬性。從本質上說,圖像邊緣是圖像局部特性不連續性(灰度突變、顏色突變等)的反映,它標志著一個區域的終結和另一個區域的開始。
提取邊緣的算法就是檢出符合邊緣特性的邊緣像素的數學算子。邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進行量化,通常也包含方向的確定,有若干種方法可以使用,其中大多數是基于方向導數模板求卷積的方法。
Sobel邊緣檢測算子Sobel邊緣檢測算子是先做成加權平均,再微分,然后求梯度。以下兩個卷積核形成了Sobel邊緣檢測算子,圖像中的每個點都用這兩個核做卷積,一個核對通常的垂直邊緣影響最大,而另一個對水平邊緣的影響最大。邊緣檢測算子的中心與中心像素相對應,進行卷積運算,兩個卷積核的最大值作為該點的輸出位。運算結果是一幅邊緣幅度圖像。
螺紋示意圖如上圖,通過建立直線BS1和直線CS2的方程,求取兩條直線之間的夾角,即可求得牙型角α。可多求幾組,求其平均值。
通過建立直線方程,求取兩直線的交點S1和S2,計算S1和S2的距離,即為螺紋的螺距,可多求幾組,取其平均值。
4、結論
將數字圖像處理技術應用在螺紋檢測中,實現了螺紋的自動化檢測。其檢測精度與CCD攝像頭的像素及焦距調校、鏡頭畸變有著密切關系。因此,軟件在編寫方面還應更加智能。但總體來說,基本實現了螺紋的自動化檢測并且可以達到較高的精度,為批量螺紋檢測提供了參考。
參考文獻
[1]楊淑瑩.VC++圖像處理程序設計[M]. 北京 清華大學出版社. 2003.11.
[2]徐孝恩. 螺紋測量[M]. 北京 機械工業出版社.1986.
[3]張少軍等. 利用數字圖像處理技術測量幾何尺寸[J]. 北京科技大學學報. 2006.6
[4]求是科技. Visual C++數字圖像處理典型算法及實現[M]. 北京 人民郵電出版社.2006.6.
[5]孫鑫等. VC++深入詳解[M]. 北京 電子工業出版社. 2006.6