改進邊緣檢測算法在醫(yī)學圖像處理中的應用
摘要:圖像邊緣檢測在醫(yī)學中有很重要的應用,針對此提出了一種新的邊緣檢測方法,首先采用canny算子對圖像進行邊緣檢測,然后對檢測后的圖像輪廓跟蹤。實驗表明,與傳統(tǒng)的邊緣檢測算法相比,這種算法能更好地提取圖像中目標物體的邊緣,減少檢測邊緣斷裂現象,具有很好的應用價值。
關鍵詞:canny算子;邊緣檢測;輪廓跟蹤
0 引言
邊緣檢測是圖像處理中的重要內容。圖像邊緣是圖像局部特性不連續(xù)性(灰度突變、顏色突變、紋理結構突變等)的反映,它標志著一個區(qū)域的終結和另一個區(qū)域的開始。在實際圖像處理問題中,圖像的邊緣作為圖像的一種基本特征,經常被應用到較高層次的圖像應用中去,同時它在圖像識別、圖像分割、圖像增強以及圖像壓縮等領域中有較為廣泛的應用。圖像邊緣檢測的手段多種多樣,大的框架有兩種,一是傳統(tǒng)的基于邊緣檢測算子的檢測方法;另外一種是基于小波的多尺度邊緣測算法。然而小波變換在用于處理圖像時并不是最佳的,因為基于小波變換的圖像邊緣檢測方法提取的邊緣只具有有限的方向,而自然圖像邊緣的方向可能是任意的,因而小波邊緣提取方法提取的邊緣不能最佳地逼近圖像邊緣;傳統(tǒng)的Robert、Sobel、Prewitt、Kirach和Laplacian算子對噪聲較為敏感,在處理實際圖像中效果并不理想。通過研究,本文提出了一種基于canny邊緣檢測算子,結合輪廓跟蹤的方法,在物體邊緣得到增強、對比度得到改善、噪聲得到有效抑制的同時,很好地解決了使用傳統(tǒng)的邊緣檢測算子在邊緣檢測過程中帶來的檢測邊緣斷裂的問題,從而能夠保證檢測到的邊緣連續(xù)、單一、清晰,是一種實用的圖像處理方法。最后把改進后的算法應用到實際醫(yī)學圖像邊緣檢測中,并與傳統(tǒng)邊緣檢測算子的檢測效果比較,從而得出結論。
1 Carmy算子的基本原理
1.1 平滑圖像
Canny算子選用合適的一維高斯函數,分別按行和列對圖像f(x,y)進行平滑去噪,這相當于對圖像信號的卷積。所選的高斯函數為:
式中:σ為高斯曲線標準差,控制著平滑程度。
1.2 計算梯度的幅值和方向
Canny算子采用2×2鄰域一階偏導的有限差分來計算平滑后的數據陣列I(x,y)的梯度幅值和梯度方向。x和y方向偏導數的2個陣列Px[i,j]和Py[i,j]分別為:
像素的梯度幅值和梯度方向分別為:
1.3 獲取邊緣
為了提取單像素寬邊緣,必須細化梯度幅值圖。在梯度幅值圖像中,M[i,j]的極大值所在位置附近會產生屋脊帶,只有細化這些屋脊帶才能精確地確定邊緣的位置,僅保留幅值局部變化最大的點,這一過程叫做非極大值抑制。在非極大值抑制過程中,Canny算子使用3×3大小,包含8個方向的鄰域對梯度幅值陣列M[i,j]的所有像素沿梯度方向進行梯度幅值的插值,在每一個點上,鄰域的中心像素M[i,j]與沿梯度方向的2個梯度幅值的插值結果進行比較,如果鄰域中心點的幅值M[i,j]不比梯度方向上的2個插值結果大,則將M[i,j]對應的邊緣標志位賦值為0,這一過程把M[i.j]寬屋脊帶細化為一個像素寬,并且保留了屋脊的梯度幅值。
對經過非極大值抑制和梯度直方圖分類的子圖像N[i,j]分別使用高、低2個閾值thrA和thrl,將梯度小于閾值的像素灰度置為0,分割得到2個閾值邊緣圖像TH[i,j]和TL[i,j]。由于圖像TH[i,j]是由高閾值得到,因此偽邊緣很少,但TL[i,j]保留邊緣信息較為全面,但也含有一些偽邊緣。因此以圖像TH[i,j]為基礎,圖像TL[i,j]為補充獲得相對較為全面的邊緣。
1.4 輪廓跟蹤或輪廓提取
在對圖像進行canny邊緣檢測后,可能會出現某些檢測邊緣斷裂、不連續(xù)的現象,為了解決這個問題,使獲得的目標檢測物體的邊緣能夠連續(xù)并且去除多余的偽邊緣,在邊緣檢測后,再對圖像進行邊界跟蹤,便可使這一問題得以很好地改善。
對于二值圖像,輪廓提取的基本方法是掏空內部點,即如果原圖像中有一點為黑,且其他相鄰的8個點都為黑,則將該點刪除。
評論