【摘要】本文主要針對(duì)圖像邊緣檢測中所使用的Sobel算子和該算子的模板進(jìn)行分析,在經(jīng)典的sobel算子基礎(chǔ)上增加了6個(gè)方向的模板,同時(shí)根據(jù)算法的計(jì)算規(guī)律對(duì)增加的計(jì)算量做了最大的優(yōu)化,以保證處理效果和處理效率的平衡。改進(jìn)的算法可以對(duì)多方向的邊緣進(jìn)行檢測以滿足不同方向的邊緣檢測效果。在一定環(huán)境中將改進(jìn)算法應(yīng)用在某圖像連續(xù)處理系統(tǒng)中,圖像的處理效果保持不變,較好的平滑了噪聲,且物體的邊緣檢測輪廓清晰。
【關(guān)鍵詞】邊緣檢測;sobel算子;模板
1.引言
邊緣檢測是圖像處理和機(jī)器視覺中最主要的研究內(nèi)容,邊緣檢測包含對(duì)人類視覺和機(jī)器視覺有價(jià)值的邊緣信息。邊緣使圖像中特性分布不連續(xù)處圖像周圍特性有階躍變化和屋脊變化的那些像素集合,是圖像識(shí)別信息最集中的地方[1]。
常用的邊緣檢測算子有:Roberts算子,Sobel算子,Prewitt算子以及Laplace算子等。Sobel算子對(duì)噪聲具有一定的抑制能力,產(chǎn)生了較好的邊緣效果,去掉部分偽邊緣。傳統(tǒng)的邊緣檢測算子的邊緣定位和噪聲平滑是矛盾的,為了克服這個(gè)不足人們用邊緣檢測結(jié)合模板匹配來有效調(diào)節(jié)這個(gè)矛盾。
2.Sobel算子
常用的的Sobel算子有兩個(gè),一個(gè)是檢測水平邊沿的另一個(gè)是檢測垂直邊沿的。Sobel算子在求梯度之前首先進(jìn)行鄰域平均或加權(quán)平均,然后進(jìn)行微分。
在基于經(jīng)典Sobel算子的邊緣檢測中,每一個(gè)算子逼近一個(gè)偏導(dǎo)數(shù),偏導(dǎo)數(shù)的公式近似如公式(1)和(2)所示[2]
?/x=[?(x+1,y-1)+2?(x+1,y)+?(x+1, y+1)]-[?(x-1,y-1)+2?(x-1,y)+?(x-1,y+1)]
(1)
?/y=[?(x-1,y+1)+2?(x,y+1)+?(x+1, y+1)]-[?(x-1,y-1)+2?(x,y-1)+?(x+1,y-1)]
(2)
若把圖像中某一點(diǎn)以及周圍8鄰域的像素點(diǎn)依次如圖1中a所示,而Sobel算子的經(jīng)典模板則如圖1中b所示:
圖1 經(jīng)典算法模板
取適當(dāng)?shù)拈撝礣,作如下判斷:如果一幅圖像R中的R(i,j)gt;=T時(shí),則(i,j)為階躍狀邊緣點(diǎn),R(i,j)為邊緣圖像。經(jīng)典的Sobel算子是利用像素的上、下、左、右鄰域的灰度加權(quán)算法,根據(jù)在邊緣點(diǎn)處達(dá)到極值的原理進(jìn)行檢測。不但可以平滑噪聲而且可以去除部分偽邊緣從而達(dá)到邊緣檢測的效果。
3.改進(jìn)的Sobel算子算法
3.1 確定Sobel算子的方向及模板
由于所檢測的邊緣有各種各樣的方向,根據(jù)模板的形式我們可以再增加6種不同方向的模板順時(shí)鐘方向依次增加45°為了方便描敘從0°到315°依次對(duì)其編號(hào)為M1-M8如圖2所示:
圖2 不同方向的模板
3.2 改進(jìn)算法
Sobel算子增加模板之后常規(guī)的算法一般是先進(jìn)行卷積運(yùn)算,再比較大小,取一次卷積運(yùn)算結(jié)果的最大值作為最后的結(jié)果?,F(xiàn)在我們依次對(duì)8個(gè)模板M1-M8作卷積運(yùn)算求的結(jié)果為S則:S1=a1+2a8+a7-a3-2a4-a5如此依次計(jì)算出Si (1=lt;i=lt;8),最后取S=max{Si}(1=lt;i=lt;8)。
對(duì)于以上計(jì)算過程我們現(xiàn)在來分析一下計(jì)算量:對(duì)每個(gè)像素要進(jìn)行8次卷積運(yùn)算每一次卷積運(yùn)算需要進(jìn)行5次加減運(yùn)算和2次乘法運(yùn)算。那么每個(gè)像素點(diǎn)的運(yùn)算就有40次的加減法運(yùn)算和16次的乘法運(yùn)算,計(jì)算完卷積的結(jié)果后還要進(jìn)行7次的比較運(yùn)算。最終才能得到這個(gè)像素點(diǎn)的結(jié)果。
如果處理一個(gè)M×N的圖像,可以知道他所需的運(yùn)算量為40M*N次加減法運(yùn)算和16M*N次乘法運(yùn)算和7M*N次比較運(yùn)算,這樣增加模板所帶來的弊端就顯而易見,對(duì)于圖像的快速處理非常不便。因此需要對(duì)運(yùn)算量進(jìn)行簡化。
現(xiàn)在假設(shè)r1=a1+2a8+a7,r2=a8+2a1+a2,r3=a1+2a2+a3,r4=a2+2a3+a4,r5=a3+2a4+a5,r6=a4+2a5+a6,r7=a5+2a6+a7,r8=a6+2a7+a8。
所以S1=r1-r5,S2=r2-r6,S3=r3-r7,S4=r4-r8,S5=r5-r1,S6=r6-r2,S7=r7-r3,S8=r8-r4。
所以我們只需計(jì)算S1-S4即可,剩下的S5-S8用S1-S4依次取反即可,相當(dāng)于4次減法運(yùn)算,此時(shí)每個(gè)像素點(diǎn)的計(jì)算量為2*8+4+4=24次加減法運(yùn)算1*8=8次乘法運(yùn)算和7次比較運(yùn)算最終得出該像素點(diǎn)的灰度,則對(duì)于同樣一幅M*N大小的圖像總的計(jì)算量為24M*N次加減法運(yùn)算8M*N次的乘法運(yùn)算和7M*N次的比較運(yùn)算。
4.實(shí)驗(yàn)結(jié)果
通過以上比較分析,改進(jìn)的算法要比常規(guī)的算法在理論上更節(jié)省時(shí)間,處理圖像的速度更快,這樣既保證處理效果又不失處理效率。對(duì)于一幅M*N的圖像兩種算法比較如表1所示:
表1 兩種算法的比較
Sobel檢測算法 加法次數(shù) 乘法次數(shù) 比較次數(shù)
常規(guī)算法 40M*N 16M*N 7M*N
改進(jìn)算法 24M*N 8M*N 7M*N
經(jīng)過編程實(shí)現(xiàn)該算法并且應(yīng)用到實(shí)際的圖像處理系統(tǒng)中,用2種算法分別處理256*256的圖片達(dá)到了處理速度的提升并且圖像的處理效果也比較理想,具有比較好的平滑噪聲作用。實(shí)驗(yàn)的硬件環(huán)境為Intel i3的處理器、內(nèi)存2G,在次配件環(huán)境中處理200張256*256的圖片常規(guī)算法所用時(shí)間為4100ms,而改進(jìn)算法處理時(shí)間為960ms。改進(jìn)的算法提高了處理速度,節(jié)省了處理時(shí)間。
5.結(jié)論
實(shí)時(shí)處理系統(tǒng)對(duì)圖片的處理速度有較高要求,算法不但要保證對(duì)圖片的處理效果,而且對(duì)處理速度也要兼顧,通過對(duì)Sobel算子的改進(jìn),改進(jìn)算法在理論上運(yùn)算步驟要少節(jié)省了很多時(shí)間,在保證處理速度的前提下對(duì)圖像的處理效果也有所加強(qiáng),經(jīng)過實(shí)驗(yàn)證明,改進(jìn)的算法在圖像處理上更好的平滑了噪聲,而且保證了處理的速度,這種改進(jìn)算法對(duì)整個(gè)圖像處理系統(tǒng)效果明顯,對(duì)實(shí)時(shí)處理系統(tǒng)有重要意義。
參考文獻(xiàn)
[1]章毓晉.圖像分割[M].北京:科學(xué)出版社,2001.
[2]孫洪淋,廖繼旺.基于Sobel算子的圖像邊緣檢測及其實(shí)現(xiàn)[J].人工智能識(shí)別技術(shù),2004,15(2):87-94.
作者簡介:
陳倩(1990—),男,碩士研究生,研究方向:信號(hào)檢測與信息處理。
劉超(1989—),男,碩士研究生,研究方向:信號(hào)檢測與信息處理。