付輝,呂磊,茍芳,付強(qiáng)
1 西南科技大學(xué),四川綿陽(yáng) 621000
2 平定古窯陶藝有限公司,山西陽(yáng)泉 045000
邊緣是一幅圖像中局部的像素值明顯變化的部分,邊緣是存在于圖像中突出的部分,是背景與物體之間的界限,在圖像中邊緣分為倆者:首先是階躍性的邊緣,其像素的灰度值成突變性的跳躍;其次是屋頂狀的邊緣,其呈現(xiàn)在灰度值一階導(dǎo)數(shù)由正值轉(zhuǎn)變?yōu)樨?fù)值的點(diǎn)。在以上提到的倆種邊緣中,階躍性的邊緣中,二階方向?qū)?shù)在邊緣處過零點(diǎn);而在屋頂狀的邊緣中,二階導(dǎo)數(shù)在邊緣處得到了極大值或者極小值。邊緣檢測(cè)是檢索圖像邊緣的一種方式。邊緣檢測(cè)可以壓縮圖像的大小,并去除了一些不是很相關(guān)的信息,提供了一幅圖片中的典型結(jié)構(gòu)。邊緣檢測(cè)技術(shù)在圖像處理、計(jì)算機(jī)視覺等方面有著至關(guān)重要的支撐作用,是模式識(shí)別、圖像分析、目標(biāo)檢測(cè)與分割等的前期處理。
Sobel 邊緣檢測(cè)算法程序錄入過程:在一幅圖像中:要檢測(cè)出邊緣的步驟有以下幾點(diǎn):第1 點(diǎn):接收輸入到的一幅圖像;第2 點(diǎn):對(duì)輸入的圖像求取偏微分的值Gx和Gy;第3 點(diǎn):采用Sobel 邊緣檢測(cè)算法進(jìn)行梯度值的求??;第4 點(diǎn):在輸入圖像中應(yīng)用偏微分值Gx,Gy;第5 點(diǎn):結(jié)合得出的結(jié)果找到斜率的絕對(duì)大小;第6 點(diǎn):此時(shí)的絕對(duì)量就是所要求取輸出邊緣值。
canny 算子的一般處理步驟:第1 點(diǎn):應(yīng)用高斯濾波算法對(duì)圖像進(jìn)行濾波,去除圖像中含有的噪聲;第2 點(diǎn),在像素的每一點(diǎn)求取其斜率值和方向,此處可以應(yīng)用;第3 點(diǎn):用Sobel 算子提到的計(jì)算方法來計(jì)算,對(duì)邊緣點(diǎn)的定義為斜率方向上的值最大點(diǎn)對(duì)斜率進(jìn)行“非極大值抑制”。第4 點(diǎn):應(yīng)用雙閾值化和邊緣進(jìn)行連接。
Canny 算子的缺陷,(1)想要得到較好的邊緣檢測(cè)效果,需要應(yīng)用濾波效果好的方法,來進(jìn)行更為大尺度的濾波,但是這樣會(huì)遺漏一些需要保留之處;(2)Canny 算子是人為設(shè)定的雙閾值,不能夠?qū)崿F(xiàn)自動(dòng)調(diào)整。
以二階導(dǎo)數(shù)的方式來搜索圖像的邊界。這種方式有優(yōu)勢(shì)和缺陷,優(yōu)勢(shì)就是由于采用了二階導(dǎo)數(shù),可以確定邊界是色度明亮的邊還是色度偏的暗邊,色度暗>0,色度亮<0,Lapl ace 算子對(duì)邊界的感應(yīng)很明顯。
圖像的邊緣是灰度值發(fā)生跳變的點(diǎn),此算子利用了導(dǎo)數(shù)的正值和負(fù)值之間過零點(diǎn)的值來進(jìn)行確定的,更好地應(yīng)用在突出圖像中的具有突變的點(diǎn)、線、面的檢測(cè)中。
在邊緣檢測(cè)算法中,要注意到以下幾點(diǎn):1)尋求高信噪比。即判斷一個(gè)點(diǎn)是否為邊緣點(diǎn)準(zhǔn)確;
2)尋求好定位性能。即得到的邊緣點(diǎn)最好位于真實(shí)邊緣點(diǎn)的中間;
3)尋求好單邊緣響應(yīng)。對(duì)邊緣的響應(yīng)準(zhǔn)確,并且排除虛假邊緣。
邊緣檢測(cè)的分類方式可以基于求導(dǎo)的階數(shù),基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子包括差分算子、梯度邊緣檢測(cè)、Roberts 算子、Sobel 算子、Prewitt 算子等;拉普拉斯邊緣檢測(cè)算子是基于二階導(dǎo)數(shù)的邊緣檢測(cè)算子,該算子對(duì)噪聲敏感。
1)差分算子是x 方向和y 方向的局部差分值;
2)Robert 算子利用了對(duì)角線的方式來確定局部差分值,定位性能好但抗噪性不好;
3)梯度算子基于求導(dǎo)的方式,梯度方向?yàn)榛叶入A躍變化最大的方向;
4)Perwitt 算子的抗噪能力不強(qiáng),因?yàn)槠湎喈?dāng)于Sobel算子少了第二列的權(quán)重值;
5)kerish 算子減小了由于求取平均值易于丟失細(xì)節(jié)的缺陷,是一種 3×3 的非線性方向算子;
6)Sobel 算子利用了卷積的方式在編程中采用了3x3 矩陣的來近似求導(dǎo);
7)Canny 算子是通過微分算子求取邊緣,在滿足一些約束條件的前提下推導(dǎo)得到邊緣檢測(cè)最優(yōu)化算子,采用雙閥值連接圖像,由于濾波幅度大易遺漏細(xì)節(jié),閥值能夠人為選取但不能自動(dòng)調(diào)整;
8)laplace 算子應(yīng)用了二階導(dǎo)數(shù)正值和負(fù)值之間過零點(diǎn)的確定,其對(duì)于孤立點(diǎn)或端點(diǎn)更為敏感,因而會(huì)增強(qiáng)噪聲;
9)LOG 算子是增強(qiáng)的laplace 算子,先進(jìn)行濾波,然后再利用差分算子來檢測(cè)在相應(yīng)尺度上的邊緣。
圖為幾種邊緣檢測(cè)算子在QT 用戶界面中呈現(xiàn)的效果:
圖1 邊緣檢測(cè)算法的實(shí)現(xiàn)
[1]劉貴忠,邸雙亮.小波分析及其應(yīng)用[D].西安電子科技大學(xué),1997.
[2]崔錦泰.小波分析導(dǎo)論[M].西安交通大學(xué)出版社,1995.
[3]張憬,郭春秋,聶雪等.快速、準(zhǔn)確的圖像闡值分割新方法[J].西安文理學(xué)院學(xué)報(bào),2006,9(3):54-58.