東北石油大學(xué)電子科學(xué)學(xué)院 苗 瑞 崔敬芳 李修麒 朱禹諾 魏華龍
圖像邊緣檢測是計算機(jī)圖像處理中重要的一環(huán)節(jié),傳統(tǒng)的邊緣檢測一般通過微分運(yùn)算提取圖像高頻分量實(shí)現(xiàn)[1]。而現(xiàn)實(shí)中的圖像是極其復(fù)雜多樣化的,圖像中難以避免的噪聲會大大影響邊緣檢測的效果,對此人們提出了各種算法來提高檢測精度及抗噪聲能力[2]。在MATLAB環(huán)境下可以很方便地驗證各種圖像處理算法,本文針對Canny算法進(jìn)行改良,并給出了MATLAB下的檢測效果。
圖像邊緣檢測算法眾多,檢測精度及抗噪聲能力也各有優(yōu)劣,這里針對Canny算法進(jìn)行改良。Canny算法的目標(biāo)是實(shí)現(xiàn)最優(yōu)邊緣檢測,并且最大程度上的消除噪聲干擾。由于這里討論的是二維圖像,可以使用多個方向的高斯平滑模板,對圖像進(jìn)行有針對性的卷積運(yùn)算,這樣就消除了單像素的噪聲,再選取最可能的邊緣方向[3]。
假設(shè)一個二維圖像使用 f [i, j ]來表示,與高斯平滑模板做卷積,得到平滑濾波后的二維矩陣:
在式(1)中,G [i, j ; σ]實(shí)現(xiàn)了高斯平滑濾波,平滑程度取決于參數(shù)σ。接下來將矩陣S [i, j ]使用一階導(dǎo)數(shù)的有限差分法計算得到兩個偏導(dǎo)數(shù)矩陣 P [i, j ]與Q [i, j ]:
通過在2×2正方形內(nèi)求有限差分均值,為計算圖像中某點(diǎn)x和y的偏導(dǎo)數(shù)梯度提供了便利。使用坐標(biāo)變換,將直角坐標(biāo)轉(zhuǎn)換為極坐標(biāo),可得到各個點(diǎn)的幅值與方位角:
(4)式中的M [i, j ]表示對應(yīng)點(diǎn)的邊緣強(qiáng)度,θ [i, j ]是該點(diǎn)的法向矢量,和邊緣方向正交。算子G [i, j ; σ]與f [i, j ]卷積運(yùn)算后得到邊緣梯度值最大的點(diǎn)即中心邊緣點(diǎn)。
接下來使用MATLAB提供的edge函數(shù),分別對Canny、Sobel、Roberts、Prewitt和Log圖像邊緣檢測算法進(jìn)行驗證與對比。被測試的灰度圖像為orimg.tig,測試代碼及注釋如下。
T=imread(orimg.tif’);%使用imread函數(shù)讀取原始灰度圖像;
figure(1),imshow(T); %使用imshow函數(shù)顯示圖像,使用figure避免顯示圖像覆蓋;
TS1=edge(T,’sobel’,0.2);%調(diào)用edge函數(shù)并使用sobel算子進(jìn)行邊緣檢測;
figure(2),imshow(TS1)
TS2=edge(T,’roberts’,0.2);%調(diào)用edge函數(shù)并使用roberts算子進(jìn)行邊緣檢測;
figure(3),imshow(TS2)
TS3=edge(T,’prewitt’,0.2);%調(diào)用edge函數(shù)并使用prewitt算子進(jìn)行邊緣檢測;
figure(4),imshow(TS3)
TS4=edge(T,’log’,0.2);%調(diào)用edge函數(shù)并使用log算子進(jìn)行邊緣檢測;
figure(5),imshow(TS4)
TS5=edge(T,’canny’,0.2);%調(diào)用edge函數(shù)并使用canny算子進(jìn)行邊緣檢測。
figure(6),imshow(TS5)
測試結(jié)果如圖1所示。
圖1 邊緣檢測結(jié)果對比
本次測試中,閾值統(tǒng)一設(shè)置為0.2。從測試結(jié)果可以看出,Canny算法處理得到的圖像邊緣信息更多更完整,連續(xù)性較好,Prewitt次之,Roberts邊緣檢測結(jié)果邊緣信息丟失較多。
Canny邊緣檢測算法追求能夠識別圖像中更多的邊緣,且識別結(jié)果盡可能與實(shí)際邊緣接近,這使得該算法的邊緣檢測信息更多更完整,且連續(xù)性較好,但是圖像中的噪聲會影響檢測結(jié)果的準(zhǔn)確性[4]。本文提出的先高斯去噪,再進(jìn)行邊緣檢測,克服了傳統(tǒng)Canny算法的不足,最后通過與其他檢測算法的檢測結(jié)果對比,體現(xiàn)出了該方法的優(yōu)點(diǎn)。
[1]王平均.基于MATLAB圖像增強(qiáng)算法的應(yīng)用[J].遼寧高職學(xué)報,2013(7):78-80.
[2]李俊山,馬穎,趙方舟,等.改進(jìn)的Canny圖像邊緣檢測算法[J].光子學(xué)報,2011,40(s1):50-54.
[3]張德豐.MATLAB數(shù)字圖像處理(第二版)[M].北京:機(jī)械工業(yè)出版社,2012.1
[4]Zhao H,Qin G,Wang X.Improvement of canny algorithm based on pavement edge detection[C]//International Congress on Image and Signal Processing.IEEE,2010:964-967.