拓小明,李云紅,劉 旭,曹 瀏,霍 可,田冀達,陳 航
(西安工程大學 電子信息學院,陜西 西安 710048)
邊緣檢測是圖像分割的一種方法,通過搜索圖像中各個區域的邊界,從而達到圖像分割的目的.圖像的邊緣提取是圖像分析領域的基礎,也是圖像識別中提取圖像特征的一個重要屬性[1].實際中經常用到的邊緣檢測算子有 Prewitt、Canny、Log、Robert、Sobel等[2],不同的圖像要選用不同的算子,才能達到好的檢測效果[3-4].當用不同的方法對圖像進行邊緣提取時,Canny算子依靠其優越的特點被大多數人采用.但是Canny算子的局限性是人為設定的高閾值和低閾值,這就產生了它的閾值選取是否準確的問題.對于Canny 算子高低閾值如何選擇,近幾年出現了各種解決辦法.運用最小二乘法推導出來的Otsu 算法[5-6]確定 Canny算子的高低閾值[7];采用迭代算法計算最佳高低雙閾值[8];一種優化的Canny算子邊緣檢測算法[9],主要針對邊緣的細化進行分析和實現;還有針對圖像區域的閾值選取方法[10-11].
本文提出一種基于Canny算子與閾值分割二者結合的方法,與傳統人為設定的高低閾值相比,它的適應性更好.通過運用最小均方誤差法計算得到其高閾值,然后高閾值乘以一個比例系數得到其低閾值,并用數學形態法對檢測后圖像進行細化.通過運用這3種方法對不同圖像進行邊緣檢測,然后對比檢測效果,結果表明,采用本文的算法提取圖像的邊緣更加清晰有效.
Canny對檢測出來的邊緣信息,提出3個標準[12]:① 信噪比標準:圖像檢測出來的邊緣是真實有效的,不必要的邊緣信息盡可能少.所提取到的邊緣信息連續清晰,從理論上來講就是使信號功率比噪聲功率盡可能的大,使得邊緣檢測的錯誤率最小.② 定位精度標準:對于邊緣信息的提取要盡可能的準確.③ 邊緣響應標準:對于一個相同邊緣,響應次數要低.
Canny邊緣提取的思路是,首先采用Gauss濾波器對目標圖像進行平滑濾波,其次通過非極值抑制技術對平滑后的圖像進行操作,最后得到邊緣信息.其操作步驟如下:
(1) 高斯濾波器平滑圖像采用的高斯函數
H(x,y)=exp(-x2+y2/(2σ2)),
(1)
G(x,y)=f(x,y)*H(x,y).
(2)
(2) 計算梯度的幅值和方向采用的卷積模板
φ1(x,y)=f(x,y)*H1(x,y),
φ2(x,y)=f(x,y)*H2(x,y),
得到幅值

(3)
方向
θφ=(tan(φ2(x,y)/φ1(x,y)))-1.
(4)
(3) 梯度幅值的抑制.保留全局梯度中局部梯度值最大與極大點,通過這個操作,從而使邊緣的提取得到細化.

圖1 分段線性灰度變換
(4) 雙閾值算法檢測與邊緣相連.通過運用T1與T2(T1 利用分段線性變換函數來增強圖像對比度的方法實際上是增強原圖各部分的反差,即增強輸入圖像中感興趣的灰度區域.分段線性灰度變換如圖1所示.其數學表達式為 (5) 該方法把圖像中的灰度作為模式特征,假定各個模式中灰度的隨機變量是獨立分布的,并假定目標圖像需要分割的模式遵循高斯分布.設定圖像的灰度區域只有目標和背景.灰度值用z代替,灰度值概率密度函數的估計值用p(z)表示.設定背景灰度值和目標灰度值是概率密度函數的對應參數.圖像的混合密度函數可表示為 p(z)=P1ρ1(z)+P2ρ2(z). (6) 假設圖像只有背景和前景,可得 P1+P2=1. (7) 即圖像中的一個像素出現的位置要么在前景中,要么在背景中.主要問題是確定閾值T的大小,運用最小均方誤差法選取T,以便一個隨機的像素能準確地分辨出是背景還是前景,如圖2所示. 圖2 最小均方誤差法確定閾值 選取的閾值T,背景點錯誤的當成前景點的概率 (8) 選取的閾值T,前景點錯誤的當成背景點的概率 (9) 總錯誤率為 E(T)=P2E1(T)+P1E2(T). (10) 為了得到最佳閾值T,將E(T)對T求微分,令式子等于0.結果是 P1ρ1(T)=P2ρ2(T). (11) 根據這個等式解出T,即為最佳閾值. 為了得到T的表達式,設定圖像的目標與背景的灰度服從正態分布,得到 (12) (13) 圖3 Canny算子與閾值分割結合算法流程圖 (14) 若P1=P2=0.5,則最佳閾值是均值的平均,即位于曲線ρ1(z)和ρ2(z)的交點處. T=(μ1+μ2)/2. (15) 對于一幅經過預處理的圖像,σ2描述了類間方差,類間方差是數理統計上十分重要的參數.將計算出來的T作為Canny算子的高閾值,0.5T作為低閾值.Canny算子與閾值分割結合的算法的流程圖如圖3所示. 用MATLAB-R2013a軟件對3幅不同的圖像進行仿真,第一種采用最常用的Canny 算子(高閾值乘以系數0.5得低閾值)檢測圖像邊緣,第二種采用最小均方誤差法檢測圖像邊緣,最后采用Canny算子與閾值分割結合的方法進行邊緣檢測分析.3幅圖像進行邊緣信息提取時設置的閾值如表1所示.算法仿真實驗結果如圖4~6所示. 表1 大米、花和Lena圖像的邊緣檢測閾值 從圖4可以看出,圖4(b)含有不必要的邊緣信息太多(大米里面和外面),圖4(c)算法比圖4(b)算法對邊緣提取的效果好,但是圖4(c)中仍然還有一些不必要的邊緣(大米內部),圖4(d)算法對邊緣的提取效果最佳.經過比較分析,用Canny算子檢測的邊緣效果不如使用最小均方誤差法檢測的邊緣效果好.雖然最小均方誤差法檢測的效果較好,但還存在一些混雜現象,而用本文的檢測算法檢測出來的邊緣效果最佳. (a) 大米圖像 (b) Canny算子檢測結果 (c)最小均方誤差法檢測結果 (d) 本文算法檢測結果圖4 大米圖像邊緣檢測結果 (a) 花圖像 (b) Canny算子檢測結果 (c) 最小均方誤差法檢測結果 (d) 本文算法檢測結果圖5 花圖像邊緣檢測結果 (a) Lena圖像 (b) Canny算子檢測結果 (c) 最小均方誤差法檢測結果 (d) 本文算法檢測結果圖6 Lena圖像邊緣檢測結果 圖5可以看出,用前2種方法提取的邊緣都出現了混雜現象,所以圖像顯示的比較混亂.圖5(b)和圖5(c)提取花瓣的邊緣信息很多都是不必要的邊緣信息,而且檢測到了在根莖葉旁邊的一些虛假邊緣,本文算法提取的邊緣沒有虛假邊緣,而且比較清晰有效.圖6可以明顯的看出,用前2種方法對Lena圖像進行邊緣提取時,Lena的眼睛、鼻子、嘴和帽子的修飾部分提取的邊緣信息不準確,而且混雜現象比較嚴重,提取出來的邊緣信息很多都是不必要的,所以圖像顯得混亂.而用本文方法進行邊緣提取時線條清晰連續,Lena的臉部輪廓比較清晰. 從以上實驗結果可以得出,本文所采用的Canny算子與閾值分割結合的算法,檢測到的圖像邊緣信息準確有效,同時相比較Canny方法和最小均方誤差法更具有優勢. 本文算法是在 Canny 算法的基礎上,采用最小均方誤差法得到Canny算法的高閾值和低閾值.此方法對圖像的邊緣檢測較好,可以有效準確地提取圖像邊緣信息,還可以抵抗不必要的干擾和噪聲.該方法對Canny 算法閾值選擇是一個非常好地解決方案.通過實驗得出,此方法對不同的圖像都能較好地提取邊緣信息,與傳統 Canny 算法和最小均方誤差法相比在邊緣檢測上更具有優勢. 參考文獻: [1] 李云紅,曲海濤.數字圖像處理[M].北京:北京大學出版社,2012:155-156. [2] 岡薩雷斯.數字圖像處理:MATLAB版[M].北京:電子工業出版社,2005:290-293. [3] 趙芳,欒曉明,孫越. 數字圖像幾種邊緣檢測算子檢測比較分析[J].通信與信息處理,2009,28(3):68-72. [4] 馮伍,張俊蘭,苗秋瑾. 幾種典型邊緣檢測算子的評估[J].電子設計工程,2011,19(4):131-133. [5] 李孟歆,侯丁丁,夏興華,等.一種基于頂帽變換和 Otsu 閾值的軌道邊緣提取方法[J].集成技術,2013,2(6):51-53. [6] 胡蓓,隆霞,胡超,等.改進脈沖耦合神經網絡及二維Otsu算法的光伏陣列陰影檢測[J].應用科學學報,2013,31(6):613-618. [7] 唐路路,張啟燦,胡松.一種自適應閾值的Canny邊緣檢測算法[J].光電工程,2011,38(5):127-132. [8] 王小俊,劉旭敏,關永.基于改進Canny算子的圖像邊緣檢測算法[J].計算機工程,2012,38(14):196-202. [9] 陳志強,高磊,吳黎慧,等.一種優化的Canny算子邊緣檢測法[J].電子測試,2011,6(23):43-46. [10] 宋瑩,陳科,林江莉,等.基于圖像分塊的邊緣檢測算法[J].計算機工程,2010,36(14):196-200. [11] 梁靚,黃玉清.融合Canny算子和形態學方法的路徑識別[J].計算機工程,2006,32(21):200-202. [12] 張錚,倪紅霞,苑春苗,等.精通Matlab數字圖像處理與識別[M].北京:人民郵電出版社,2013:256-258.2 Canny算子與閾值分割結合的算法
2.1 圖像增強

2.2 最小均方誤差法








3 結果與分析




4 結束語