黃時杰 曾建華






摘要:采用五種邊緣檢測算子對數字圖像開展了檢測,并進行了比較與分析.探究了閾值對圖像邊緣效果的影響.分析了不同算法在邊緣的完整性、連續性、對噪聲的敏感性等方面表現出的不一樣的特性.此外,分別采用直方圖閾值法和Otsu法進行了圖像分割,均獲得了很好的分割效果.理想的研究結果為更高級別的圖像處理奠定了基礎.
關鍵詞:邊緣檢測;邊緣檢測算子;直方圖;圖像分割;閾值
中圖分類號:TP391.41? 文獻標識碼:A? 文章編號:1673-260X(2019)09-0047-03
在開展圖像處理時,會發現圖像結構中具有突起部分,這是一個區域的終端而又是另一區域的開始,這種不連續性就稱為邊緣.圖像的邊緣是圖像的基本性質,圖像分析和理解的第一步通常就為邊緣檢測.[1-3]而圖像分割則是指將圖像劃分成多個非交替部分的集合.在本文中,我們采用六種邊緣檢測算子對數值圖像開展了邊緣檢測,并對檢測結果進行了比較.同時,采用不同的灰度閾值法實現了圖像分割.
1 邊緣檢測算子
邊緣就是圖像中色彩或者灰度值變化劇烈的地方,所以可以在灰度值變化較為強烈的地方微分運算,得到和其他地方不一樣的較大的數值.[4,5]邊緣檢測算子主要分為兩類:[6]一類是以一階導數為基礎,如:Roberts算子、Sobel算子、Prewitt算子等;一類是以二階導數為基礎,如:Laplacian算子、Log算子、Canny算子等.[7-9]
1.1 Roberts算子
Roberts算子是采用局部差分法尋找邊緣、通過對角線相鄰兩像素之差近似梯度幅值來檢測邊緣的算子,[10]其模板如圖1所示.為了避免負號,兩個模板進行卷積時通常取絕對值.
1.2 Log算子
Log算子檢測邊緣首先是要得到平滑圖像I(x,y),[11]這可通過高斯濾波器函數G(x,y)與原始圖像f(x,y)卷積實現
“*”為卷積符號.再通過拉普拉斯算子?塄2獲得平滑圖像I(x,y)的二階方向導數M(x,y):
其中?塄2G(x,y)即為Log算子.圖像f(x,y)的邊緣則可由求M(x,y)的零穿點軌跡獲得.
1.3 Prewitt算子
Prewitt算子是依據局部差分平均檢測圖像邊緣,[12]算子形式:
Sobel算子采用的算法是先進行加權平均,再微分運算,[13]算子的算法如下:
Sobel算子水平方向和垂直方向的模板如圖3所示,它的使用方式和Prewitt算子一樣.
1.5 Canny算子
Canny算子是基于信噪比標準、定位精度標準和單邊響度標準提出,Canny算子求邊緣點的首先也要通過高斯平滑濾波器H(x,y,?滓)與圖像f(x,y)的卷積實現得到平滑圖像G(x,y):[14,15]
“*”代表卷積符號.然后通過一階偏導、非極大值抑制和雙閾值算法等實現邊緣檢測.
2 基于灰度的圖像分割方法
對于圖像分割,我們采用了較簡單的灰度門限法,其中灰度閾值的選擇非常關鍵.[16]下面簡述兩種確定灰度閾值的方法.
2.1 直方圖閾值法
該方法的閾值選取步驟如下:
(1)找出直方圖的兩個最大的局部值:zi,zj;
(2)求zi,zj間直方圖最低點zk;
(3)用h(zk)/min(hzi),h(zj))測試直方圖的平坦性;
(4)若上述值小于門限T,將zk作為分割門限.
2.2 Otsu法(自動閾值法)
Otsu法是使類間方差最大而推導出閾值的一種自動閾值法,MATLAB中實現Otsu法的函數是graythresh.
3 實驗結果與分析
3.1 Sobel算法和Canny算法的圖像邊緣檢測
程序通過MATLAB語言編寫,Sobel算法和Canny算法進行邊緣檢測的結果如圖4和圖5所示.從圖4和圖5可以看出,隨著閾值增大,邊緣效果逐漸變得明顯.
3.2 不同算法圖像邊緣檢測的比較
我們也通過MATLAB編程采用不同的算法進行了圖像的邊緣檢測,如圖6所示.根據檢測結果判斷,Roberts算子檢測到的圖像邊緣比較細,但連續性不理想,一些邊緣信息缺失.Sobel算子和Prewitte算子檢測到的邊緣較連續,并且它們對噪聲不敏感,但線條稍微顯粗,出現了偽邊緣.Log算子檢測到的圖像邊緣更連續,邊緣也較細,但對噪聲敏感.相比其他算子,Canny算子呈現出了最理想的檢測效果:邊緣完整、細節清晰和連續性好.
3.3 直方圖閾值法和Otsu法的圖像分割
通過MATLAB編程,我們采用直方圖閾值法和Otsu法實現了圖像分割,如圖7所示.同時,也采用Otsu法實現了圖像分割,如圖8所示.兩種分割方法都取得了很好的分割效果.
4 結論
通過MATLAB編程,我們采用不同的算法開展了圖像的邊緣檢測,發現閾值越大,圖像的邊緣效果越好,不同的算法檢測邊緣的完整性、連續性、對噪聲的敏感性也表現出不一樣的特征.此外,我們分別采用直方圖閾值法和Otsu法實現了圖像分割,這兩種閾值分割法都呈現了計算簡單、運算效率高和速度快的特點.
——————————
參考文獻:
〔1〕鄒福輝,李忠科.圖像邊緣檢測算法的對比分析[J].計算機應用,2008,28(z1):215-216,219.
〔2〕段瑞玲,李慶祥,李玉和.圖像邊緣檢測方法研究綜述[J].光學技術,2005,31(3):415-419.
〔3〕王博學,王夏黎,趙曉娜,等.動態背景下基于邊緣檢測的道路識別[J].計算機技術與發展,2018,28(11):146-149.
〔4〕姜炳旭,劉杰,孫可.Sobel邊緣檢測的細化[J].沈陽師范大學學報(自然科學版),2010,28(4):503-506.
〔5〕孫根云,柳欽火,劉強,等.圖像的模糊邊緣檢測算法[J].光電工程,2007,34(7):141-144.
〔6〕熊秋菊,楊慕升.數字圖像處理中邊緣檢測算法的對比研究[J].機械工程與自動化,2009,38(2):43-44,47.
〔7〕譚艷,王宇俊,李飛龍,等.幾種典型的圖像邊緣檢測算法的分析比較[J].電腦知識與技術,2012,8(7):1604-1608.
〔8〕張瑞華,吳謹.基于曲波變換和Susan種子點生長的邊緣檢測算法[J].華中師范大學學報(自然科學版),2011,45(3):386-390,411.
〔9〕張紅霞,王燦,劉鑫,等.圖像邊緣檢測算法研究新進展[J].計算機工程與應用,2018,54(14):11-18.
〔10〕沈峰亭.邊緣檢測在視覺圖像中的應用分析[J].微計算機信息,2008,24(9):304-305.
〔11〕楊金剛.基于數學形態學的遙感圖像邊緣信息提取技術研究[D].成都:成都理工大學,2011.
〔12〕歐溫暖.幾種常見邊緣檢測算子的分析比較[J].現代計算機(專業版),2010,27(5):75-77.
〔13〕陳天華.數字圖像處理[M].北京:清華大學出版社,2007.
〔14〕胡盛松.基于Beamlet變換的線特征提取方法研究[D].汕頭:汕頭大學,2014.
〔15〕徐德明,萬長林.可抗噪聲的Canny改進邊緣檢測算法[J].計算機系統應用,2017,26(1):201-205.
〔16〕鄭麗萍,李光耀,姜華.灰度圖像最大熵分割方法的改進[J].計算機工程與科學,2010,32(12):53-56,88.