趙玲++張偉
摘 要:數(shù)字圖像處理和計算機視覺有一個基本問題就是邊緣檢測。圖像中會有亮度變化比較明顯的點就是圖像的邊緣。圖像的邊緣表現(xiàn)出了圖像的位置信息、輪廓特征等。邊緣檢測現(xiàn)在只要應(yīng)用在分析和處理圖像中,像提取圖像特征、分割圖像、增強圖像、復(fù)原圖像、模式識別、圖像壓縮等。本文介紹了邊緣檢測算法中的幾種經(jīng)典邊緣檢測算法,討論了這幾種經(jīng)典的邊緣檢測算子的若干性能判據(jù),通過實驗驗證:不同的邊緣檢測算子對分辨率不同的圖像性能變化是不同的。
關(guān)鍵詞:邊緣檢測 圖像處理 檢測性能 圖像分辨率
中圖分類號:TP751 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)05(b)-0023-02
圖像特征提取中廣泛應(yīng)用了邊緣檢測。圖像中最基本的特征就是圖像的邊緣,一幅圖像主要由它的輪廓邊緣特征提供。所以在圖像處理中很重要的一步就是提取和檢測邊緣,邊緣檢測算法的好壞對整個圖像處理系統(tǒng)的性能都會產(chǎn)生影響。提取圖像中對象與背景間的交界線需要通過某種算法來得到邊緣檢測的實質(zhì)。目前使用的不同的邊緣檢測算子各有優(yōu)缺點,因此,圖像的邊緣檢測算法需要進(jìn)一步的研究與改進(jìn)。文中介紹了幾種經(jīng)典的邊緣檢測算法并對這幾種算法進(jìn)行了比較。
1 邊緣檢測算法簡介
1.1 經(jīng)典邊緣檢測算法
圖像邊緣檢測可以減少大量的無關(guān)數(shù)據(jù)量,保留圖像中重要屬性。目前,邊緣檢測的方法有很多,比較常用的幾種經(jīng)典檢測算子[1~3]可分為基于一階微分和基于二階微分兩種?;谝浑A微分的方法主要包括Roberts算子,Sobel算子,Prewitt算子和Krisch算子等?;诙A微分的方法通過尋找圖像二階導(dǎo)數(shù)過零點來尋找邊界,如Laplacian算子。
Robers算子:該算子利用局部差分尋找邊緣,它是在2×2的鄰域上計算對角導(dǎo)數(shù)。
Sobel算子:該算子有2個,一個是檢測水平邊緣的;另一個是檢測垂直邊緣的。Sobel算子對圖像中像素的位置信息做了加權(quán),因此,比其他梯度算子的檢測效果更好。
Prewitt算子:該算子與sobel算子相同。這兩種算子都是對圖像中的每一點用3×3模板做卷積,不同的是采用的卷積核不同。該算子具體的檢測步驟是:依次用邊緣模板去檢測圖像,與被檢測區(qū)域最為相似的取最大值作為輸出,即為圖像的邊緣。
Kirsch算子:該算子由8個卷積核組成。圖像中的每一點都用8個掩模進(jìn)行卷積,每個掩模都對特定邊緣方向作出最大響應(yīng),將8個方向中的最大值作為幅度圖像的輸出。
Laplacian算子:對一個3×3大小的區(qū)域,在實踐中經(jīng)常遇到以下兩種Laplacian算子模板。
LOG算子:
(1)平滑濾波器是高斯濾波器。(2)增強步驟采用二階導(dǎo)數(shù)。(3)邊緣檢測判據(jù)是二階導(dǎo)數(shù)過零點并對應(yīng)一階導(dǎo)數(shù)的峰值。(4)使用線性內(nèi)插方法在子象素分辨率水平上估計邊緣的位置。常用的LOG算子是5×5的模板。
Canny算子:該算子是最常用的邊緣檢測方法。該算子采用最優(yōu)預(yù)平滑濾波器對圖像進(jìn)行平滑濾波,然后采用一種稱之為“非極值抑制”技術(shù),對平滑濾波后的圖像進(jìn)行處理,得到所需的邊緣。它是說邊緣定義為在梯度方向具有最大梯度值的點。但是,Canny算子不能既抑制噪聲了又準(zhǔn)確定位了邊緣。因為,該算子通過平滑濾波除去了噪聲,但是卻增加了邊緣定位的不準(zhǔn)確性。如果提高該算子對邊緣的敏感性,同時也提高了對噪聲的敏感性。
1.2 經(jīng)典邊緣檢測算子的性能比較
(1)Roberts算子是一階微分算子,利用局部微分檢測邊緣,分別計算沿45°方向的一階微分,圖像的梯度大小即為這兩個45°方向上梯度向量之和。該算子不對圖像進(jìn)行濾波,直接對圖像計算微分,所以不能將噪聲很好的剔除。該算子對噪聲小的圖像、對邊緣陡峭的圖像檢測效果好。
(2)Sobel算子與Prewitt算子:這兩個算子都是首先對圖像進(jìn)行濾波,然后對圖像進(jìn)行差分計算,區(qū)別僅僅在于平滑濾波的權(quán)值不同。這兩個算子對噪聲大、灰度漸變的圖像檢測效果好。
(3)Laplacian算子:是二階微分算子,其二階微分過零點即為階躍圖像的邊緣點,最小值點可作為屋頂型圖像的邊緣。該算子最小值算法用于屋脊型邊緣的檢測效果不錯,但對噪聲比較敏感。該算子過零點算法可直接用于檢測階躍型邊緣,但是過零點的門限比較難確定,而且檢測精度一般較低。
(4)Canny算子:是一階算子。該方法實質(zhì)是首先采用一個最優(yōu)預(yù)平滑濾波器—高斯函數(shù)作濾波器進(jìn)行濾波,然后以帶方向的一階微分算子定位導(dǎo)數(shù)最大值,它可用高斯函數(shù)的梯度來近似,在理論上很接近4個指數(shù)函數(shù)的線性組合形成的最佳邊緣算子。它是檢測階躍型邊緣效果最好算子之一,它的去噪能力比Prewitt算子,Sobel算子,Laplacian算子極小值算法都要強。
我們選取了一幅原始圖像如圖1所示,分別采用Roberts、Sobel、Prewitt、Kirsch、Laplacian、Log和Canny算子對圖像進(jìn)行邊緣檢測處,如圖2所示。從圖2中得到,經(jīng)過Canny算子檢測的圖像邊緣基本是單像素寬的,并且具有很好的連續(xù)性,邊緣精度高,抗噪聲能力強。所以說,Canny邊緣檢測算法比其它幾種邊緣檢測算法的效果更好。
2 經(jīng)典邊緣檢測算子對不同分辨率圖像檢測性能比較
圖像分辨率是指圖像中存儲的信息量,是每英寸圖像內(nèi)有多少個像素點,分辨率的單位為dpi(dot per inch),不同分辨率的圖像質(zhì)量是不同的。圖像分辨率指標(biāo)的高低反映了圖像清晰度的好壞。一般圖像的分辨率越高,圖像約清晰,圖像質(zhì)量越好。通過實驗得到:當(dāng)圖像的分辨率超過300 dpi時,圖像的質(zhì)量雖有提高,但從視覺效果上來說提高并不明顯。因此在本實驗中,我們選取分辨率300 dpi圖像為高分辨率圖像。為了分析各種邊緣檢測算子對不同分辨率圖像檢測效果的不同,我們設(shè)定高分辨率為300 dpi,中分辨率為150 dpi,低分辨率為72 dpi。本文采用各種算子對待檢測的原始圖像進(jìn)行檢測得到實驗結(jié)果如圖3所示。通過分析:endprint
(1)Roberts算子:對圖像分辨率的變化最不敏感,該算子對高、中、低分辨率圖像,均能較好的檢測出邊緣,并且定位準(zhǔn)確,檢測到的輪廓細(xì)而清晰。但是該算子不能很好的檢測對比度低的圖像,如果圖像分辨率降低的話,邊緣檢測效果會好些。
(2)Sobel和Prewitt算子:這兩個算子的形式完全相同,只是模板系數(shù)略有不同,因此這兩個算子的性能相似,對不同分辨率的圖像的敏感程度也相似。從實驗結(jié)果分析:Prewitt算子對圖像分辨率更為敏感,但定位準(zhǔn)確度不及Sobel算子。它們的共同特點是對圖像分辨率變化敏感程度比Robert算子強,其根本原因就是它們的模板是3×3的,而Robert模板是的2×2的。
(3)Kirsch算子:該算子邊緣定位比較準(zhǔn)確,能很好的處理邊緣細(xì)節(jié)。由于該算子對邊緣細(xì)節(jié)比較敏感,對低分辨率的圖像經(jīng)該算子處理后,物體與邊緣的界限會比較模糊。相比較而言,邊緣檢測效果比以上三個一階微分算子差。
(4)Gauss_Laplace算子:該算子對分辨率變化最敏感,因為該算子能比較敏感的識別對圖像的細(xì)節(jié)和灰度突變部分。對分辨率低的圖像,由于圖像的灰度突變加劇,細(xì)節(jié)信息大量喪失,因此邊緣比較模糊。而對高分辨率的圖像,邊緣細(xì)節(jié)比較清晰。
不同的邊緣檢測算子對不同分辨率的圖像其性能變化是有差異的??偟膩碚f,隨著圖像分辨率的降低,各種算子的性能都會受到削弱,但梯度算子中Robert算子、Sobel算子的性能變化最小,Prewitt算子和Kirsch算子的性能變化相對較大,而Gauss_ Laplace算子的性能變化最為明顯。
3 結(jié)語
邊緣檢測是圖像處理與分析領(lǐng)域研究的熱點問題,現(xiàn)有的大多數(shù)文章和研究注重圖像處理算法,只有很少的文章關(guān)注邊緣檢測算法的評價和檢測效果的比較。本文通過實驗對幾種經(jīng)典的邊緣檢測算子進(jìn)行了比較。文章雖然對幾種經(jīng)典的邊緣檢測算法做了定性的分析,也說明了針對不同的圖像哪種算子的檢測效果較好,但是現(xiàn)有的各種邊緣檢測算子存在著優(yōu)缺點,因此,隨著新的檢測算子的出現(xiàn),圖像的邊緣檢測算法仍然需要進(jìn)一步改進(jìn)和發(fā)展。
參考文獻(xiàn)
[1] 尹建媛.圖像處理中邊緣檢測算法的研究[J].科技論壇,2008(4).
[2] (美)William K.Prant.數(shù)字圖像處理[M].鄧魯華,譯.3版.北京:機械工業(yè)出版社,2005:312-333.
[3] (美)Kenneth R.Castleman.數(shù)字圖像處理[M].朱志剛,譯.北京:電子工業(yè)出版社,2002:387-391.endprint
(1)Roberts算子:對圖像分辨率的變化最不敏感,該算子對高、中、低分辨率圖像,均能較好的檢測出邊緣,并且定位準(zhǔn)確,檢測到的輪廓細(xì)而清晰。但是該算子不能很好的檢測對比度低的圖像,如果圖像分辨率降低的話,邊緣檢測效果會好些。
(2)Sobel和Prewitt算子:這兩個算子的形式完全相同,只是模板系數(shù)略有不同,因此這兩個算子的性能相似,對不同分辨率的圖像的敏感程度也相似。從實驗結(jié)果分析:Prewitt算子對圖像分辨率更為敏感,但定位準(zhǔn)確度不及Sobel算子。它們的共同特點是對圖像分辨率變化敏感程度比Robert算子強,其根本原因就是它們的模板是3×3的,而Robert模板是的2×2的。
(3)Kirsch算子:該算子邊緣定位比較準(zhǔn)確,能很好的處理邊緣細(xì)節(jié)。由于該算子對邊緣細(xì)節(jié)比較敏感,對低分辨率的圖像經(jīng)該算子處理后,物體與邊緣的界限會比較模糊。相比較而言,邊緣檢測效果比以上三個一階微分算子差。
(4)Gauss_Laplace算子:該算子對分辨率變化最敏感,因為該算子能比較敏感的識別對圖像的細(xì)節(jié)和灰度突變部分。對分辨率低的圖像,由于圖像的灰度突變加劇,細(xì)節(jié)信息大量喪失,因此邊緣比較模糊。而對高分辨率的圖像,邊緣細(xì)節(jié)比較清晰。
不同的邊緣檢測算子對不同分辨率的圖像其性能變化是有差異的??偟膩碚f,隨著圖像分辨率的降低,各種算子的性能都會受到削弱,但梯度算子中Robert算子、Sobel算子的性能變化最小,Prewitt算子和Kirsch算子的性能變化相對較大,而Gauss_ Laplace算子的性能變化最為明顯。
3 結(jié)語
邊緣檢測是圖像處理與分析領(lǐng)域研究的熱點問題,現(xiàn)有的大多數(shù)文章和研究注重圖像處理算法,只有很少的文章關(guān)注邊緣檢測算法的評價和檢測效果的比較。本文通過實驗對幾種經(jīng)典的邊緣檢測算子進(jìn)行了比較。文章雖然對幾種經(jīng)典的邊緣檢測算法做了定性的分析,也說明了針對不同的圖像哪種算子的檢測效果較好,但是現(xiàn)有的各種邊緣檢測算子存在著優(yōu)缺點,因此,隨著新的檢測算子的出現(xiàn),圖像的邊緣檢測算法仍然需要進(jìn)一步改進(jìn)和發(fā)展。
參考文獻(xiàn)
[1] 尹建媛.圖像處理中邊緣檢測算法的研究[J].科技論壇,2008(4).
[2] (美)William K.Prant.數(shù)字圖像處理[M].鄧魯華,譯.3版.北京:機械工業(yè)出版社,2005:312-333.
[3] (美)Kenneth R.Castleman.數(shù)字圖像處理[M].朱志剛,譯.北京:電子工業(yè)出版社,2002:387-391.endprint
(1)Roberts算子:對圖像分辨率的變化最不敏感,該算子對高、中、低分辨率圖像,均能較好的檢測出邊緣,并且定位準(zhǔn)確,檢測到的輪廓細(xì)而清晰。但是該算子不能很好的檢測對比度低的圖像,如果圖像分辨率降低的話,邊緣檢測效果會好些。
(2)Sobel和Prewitt算子:這兩個算子的形式完全相同,只是模板系數(shù)略有不同,因此這兩個算子的性能相似,對不同分辨率的圖像的敏感程度也相似。從實驗結(jié)果分析:Prewitt算子對圖像分辨率更為敏感,但定位準(zhǔn)確度不及Sobel算子。它們的共同特點是對圖像分辨率變化敏感程度比Robert算子強,其根本原因就是它們的模板是3×3的,而Robert模板是的2×2的。
(3)Kirsch算子:該算子邊緣定位比較準(zhǔn)確,能很好的處理邊緣細(xì)節(jié)。由于該算子對邊緣細(xì)節(jié)比較敏感,對低分辨率的圖像經(jīng)該算子處理后,物體與邊緣的界限會比較模糊。相比較而言,邊緣檢測效果比以上三個一階微分算子差。
(4)Gauss_Laplace算子:該算子對分辨率變化最敏感,因為該算子能比較敏感的識別對圖像的細(xì)節(jié)和灰度突變部分。對分辨率低的圖像,由于圖像的灰度突變加劇,細(xì)節(jié)信息大量喪失,因此邊緣比較模糊。而對高分辨率的圖像,邊緣細(xì)節(jié)比較清晰。
不同的邊緣檢測算子對不同分辨率的圖像其性能變化是有差異的??偟膩碚f,隨著圖像分辨率的降低,各種算子的性能都會受到削弱,但梯度算子中Robert算子、Sobel算子的性能變化最小,Prewitt算子和Kirsch算子的性能變化相對較大,而Gauss_ Laplace算子的性能變化最為明顯。
3 結(jié)語
邊緣檢測是圖像處理與分析領(lǐng)域研究的熱點問題,現(xiàn)有的大多數(shù)文章和研究注重圖像處理算法,只有很少的文章關(guān)注邊緣檢測算法的評價和檢測效果的比較。本文通過實驗對幾種經(jīng)典的邊緣檢測算子進(jìn)行了比較。文章雖然對幾種經(jīng)典的邊緣檢測算法做了定性的分析,也說明了針對不同的圖像哪種算子的檢測效果較好,但是現(xiàn)有的各種邊緣檢測算子存在著優(yōu)缺點,因此,隨著新的檢測算子的出現(xiàn),圖像的邊緣檢測算法仍然需要進(jìn)一步改進(jìn)和發(fā)展。
參考文獻(xiàn)
[1] 尹建媛.圖像處理中邊緣檢測算法的研究[J].科技論壇,2008(4).
[2] (美)William K.Prant.數(shù)字圖像處理[M].鄧魯華,譯.3版.北京:機械工業(yè)出版社,2005:312-333.
[3] (美)Kenneth R.Castleman.數(shù)字圖像處理[M].朱志剛,譯.北京:電子工業(yè)出版社,2002:387-391.endprint