覃小峰 楊棕根 鄭湘群
摘要:邊緣檢測算法一直在圖像處理領域十分活躍,本文根據Canny邊緣檢測算法對圖像進行邊緣檢測處理。本文首先對帶有噪聲的圖像進行高斯平滑濾波,盡可能地將噪聲去掉。然后通過亮度梯度的計算,得出圖像的整體輪廓。然后再對其進行非極大值抑制處理,將虛假邊緣像素點去掉。再采用雙閾值處理上一步所得到的圖像,并連接邊緣像素點得到邊緣圖像。通過實驗仿真分析,該算法能夠很好的抑制噪聲并檢測出更加精確的圖像邊緣。
關鍵詞:Canny邊緣檢測算法;高斯平滑濾波;非極大值抑制處理;雙閾值處理
Abstract:The edge detection algorithm has been quite active in the field of image processing.Canny edge detection algorithm is also chosen for the edge detection processing of image in this paper.Three steps are as followings:first,using Gauss filter to remove the noise of image as much as possible;Second,with the calculation of brightness step,we can draw the images total outline;Third,deleting the false remote pixels by making use of non maxima suppression processing to the outline we observed.Then using dual threshold to deal with the image and join remote pixels.Finally,the edge image forms.Through the analysis of the experimental simulation,this algorithm is good at restraining noise and getting a more accurate edge image.
0.引言
隨著計算機的發(fā)展和人們對圖像的視覺心理或應用需求不斷提高,一系列的圖像處理算法及技術也隨之蓬勃發(fā)展,在圖像處理領域中最重要的一項處理技術是邊緣檢測技術。圖像中物體的邊緣處表現出圖像局部特性的不連續(xù)性,比如顏色的突變、灰度值的不連續(xù),在邊緣處表現出來的信息量是非常大的,在整個圖像中的特征信息占有主導地位,因此圖像的邊緣檢測技術廣泛用于圖像的輪廓、紋理等特征信息的提取。
圖像邊緣信息中,有走向和幅度兩個方面的特征。一般情況下,圖像沿著邊緣方向的幅值變化是連續(xù)的,而在垂直于邊緣走向的幅值變化是階躍型的,也即是非連續(xù)變化的。本文主要是以Canny算法對圖像進行邊緣檢測的算法研究。
1.Canny邊緣檢測
1.1Canny邊緣檢測算法基本原理
Canny邊緣檢測的實質就是求取信號函數的極大值問題來來判定圖像邊緣像素點。該檢測算法具有三大特點:①好的檢測性:檢測出的邊緣信息的漏檢率和誤檢率達到最小,使得算法能夠盡可能更多地標識出圖像的實際邊緣;②好的定位性:定位精度最高,使得標識出的邊緣盡可能與實際圖像的邊緣精確程度也就越高;③相應次數最?。簣D像的邊緣像素點只能被標識一次,并且在可能存在噪聲的像素點上不被標識。
1.2Canny邊緣檢測算法實現步驟
1.2.1高斯濾波
在未經處理過的圖像上進行任何檢測算法都是不能很好地處理以及應用,因此在圖像處理之前,對該圖像進行濾波預處理,而且濾波效果的好壞直接影響著后續(xù)的處理和分析。圖像中幾種常見噪聲有椒鹽噪聲、脈沖噪聲、高斯噪聲。通常,圖像中噪聲以高斯噪聲為主,高斯噪聲的幅值分布服從高斯分布,因此本文采用高斯濾波,高斯平滑模板與原圖像進行卷積計算,得到去噪后的圖像。
二維高斯函數:G(x,y)=Ae-(x2+y2)2σ2
式中σ決定了高斯濾波器的寬度。
1.2.2梯度計算
對濾波后的圖像中的每個像素點,計算其梯度的大小和方向的方法采用一微分算子計算出x方向和y方向的偏微分:
Gx=12·-11-11Gy=12·-11-11
梯度大?。築(x,y)=G2x+G2y
梯度方向:θ(x,y)=arctanGyGx
1.2.3梯度的非極大抑制
通常情況下,圖像幅值陣列中對應像素點的B(x,y)值越大,那么該點梯度值也就越大,說明該點很可能是邊緣點。但是該點還不能就因為此就確定它是邊緣點,所以本論文為了確定邊緣點,采用非極大抑制來進行邊緣檢測,確定出真正的邊緣點。
遍歷每個像素點的值與沿著梯度線方向的的兩個像素值進行比較,如果該點的值比沿梯度線方向的兩個相鄰值小,則該點的像素灰度值賦值為0。
1.2.4雙閾值檢測并連接邊緣
采用單閾值處理后得到的邊緣點仍然存在著假象邊緣點,如果采用單閾值檢測,對于合適閾值的選擇來說說是非常困難的,因此本文采用雙閾值檢測來處理數據。設置的閾值分別為T1和T2,且T1=0.5T2,由此根據兩個閾值得到兩幅圖像。由于閾值T2較大,由它所得到的圖像,在濾掉了大部分噪音的同時,也丟掉了部分邊緣信息。閾值T1較小,它所得到的圖像包含著較多的邊緣信息。然后在由閾值T2得到圖像的基礎上,根據閾值T1得到的圖像的邊緣信息對它進行補充,然后將邊緣信息點連接起來得到邊緣圖像。
2.實驗結果及分析
本文對一張圖片用matlab進行仿真實驗,得出幾幅圖像的實驗結果。該原始圖像尺寸的大小為261×550,該圖的順序表現出了算法的過程!圖2是由原始圖像圖1經過高斯平滑濾波得出的圖像,從圖中我們可以看出圖2較圖1模糊,但是圖2增加了邊緣檢測的準確性。經過雙閾值處理,并連接邊緣信息點得到最終圖像3,可以從中看出圖像3基本上可以將真實邊緣表示出來。
3.結束語
本文根據Canny邊緣檢測算法對圖像進行處理,其中最重要的部分是高斯濾波,該步驟對后面的處理部分有很大的影響,但同時會造成邊緣細節(jié)信息的丟失。在對假象邊緣點進行處理時,沒有采用單閾值處理,由于該處理方法不能很好的確定閾值,因此采用雙閾值處理,它在充分處理掉假象邊緣的同時也較大程度上保證了真實邊緣不被去掉。因此將該算法應用到圖像處理上,能夠得到理想的結果。(作者單位:1.西南交通大學峨眉校區(qū)機械工程系;2.西南交通大學峨眉校區(qū)計算機與通訊工程系)
參考文獻:
[1]王慧琴.小波分析與應用[M].北京:北京郵電大學出版社,2011(1):156~158
[2]張書玲,張小華.基于小波變換的邊緣檢測[J].西北大學學報:自然科學版,2000,30(2):93~97
[3]李俊山,馬穎,趙方舟.改進的Canny圖像邊緣檢測算法[J].光子學報,2011,40(1):50~54
[4]Yao Min.Digital image processing[M].Beijing:MechanicalIndustry Press,2006.(in Chinese)
[5]楊煊,梁德群.基于圖像信息檢測多尺度邊緣檢測方法[J.模式識別與人工智能,1998,11(4):442~446
[6]Mallat S,HwangWL.Singularity detection and processing with wavelets[J].IEEE Trans IT,2005,38(2):617-643
[7]蔣愛德,扈少華.基于Canny算子的邊緣檢測研究[J].鄭州牧業(yè)工程高等??茖W校學報,2007,(5):1~3
[8]陳蒙.基于Canny算子的邊緣檢測算法應用研究[J].電子技術與軟件工程,2013,(11):1~2