魏晴霞
摘 要:針對Canny算子在圖像邊緣檢測中算法魯棒性差的問題,提出了一種改進的Canny算子并將其應用于圖像邊緣檢測,新的算子利用平滑后對圖像進行灰度拉伸的預處理,利用遺傳算法求閾值,從而得到較為理想的圖像邊緣。仿真實驗結果表明,改進后的Canny算子能有效檢測到圖像中的細節梯度,并去除了偽邊緣和噪聲邊緣。
關鍵詞:Canny算子邊緣檢測灰度拉伸遺傳算法
中圖分類號:TP391.4 文獻標識碼:A 文章編號:1674-098X(2012)06(a)-0028-01
近些年來,隨著一些新的數學理論及數學工具在圖像處理中的新應用,由此學者們提出了一些新的邊緣檢測方法,例如:基于小波變換的方法、數學形態學方法、模糊理論和神經網絡等邊緣檢測法[2-3]。
然而,就現有的圖像邊緣檢測算子而言,Canny算子是效果最好且最具實用性的一個邊緣檢測算子。然而,Canny算子也具有缺陷[4-5],主要表現在對噪聲較為敏感,邊緣檢測魯棒性較差,檢測到的圖像邊緣常常含有較多的偽邊緣。為了克服這一難題,提出了一種改進的Canny邊緣檢測方法,與經典的Canny算子相比,新的Canny邊緣檢測算子具有更好的邊緣檢測結果和較高的魯棒性。
1 改進后的Canny算子
1.1 圖像預處理
圖像預處理重要是對圖像的濾波,其結果是可以平滑圖像中的各種噪聲,使圖像更清晰,便于后續步驟的處理。然而,圖像濾波在平滑噪聲的同時也會導致一些邊緣細節變得比較模糊,從而導致在后續的圖像處理過程中難以深層處理。基于該原因,在圖像濾波后,我們需要對圖像進行灰度拉伸處理,以使圖像的灰度分布范圍變寬,從而增強圖像對比度和邊緣變化速率。具體處理如公式1:
(1)
其中,==255。和均為常數。
1.2 遺傳算法求取閾值
由于經典的邊緣檢測算子中Canny算子是性能最好的,然而,該算子性能受參數和閾值、的影響。對于細節較為粗糙的圖像而言,較小可以得到較為平滑的處理效果,而對于細節信息較多的圖像而言,取值較大。在本文實驗中,取值為1。
在實際的圖像處理中,由于受光照影像的圖像是一類重要圖像,圖像特點是灰度分布并不均勻。針對該類型圖像而言,如果我們選擇的閾值較大,則圖像中的部分細節邊緣丟失。而如果選擇較低的閾值,則會導致較多的偽邊緣出現。顯然,在Canny邊緣檢測算子中,盡管雙閾值法能夠提高邊緣檢測的魯棒性,但邊緣檢測結果受閾值選擇的影響較大,而對不同類型的圖像選取不同的閾值是一件較為困難的工作。本文中,采用二次尋優的遺傳算法,通過反復迭代處理的方法獲取最優閾值(,同時低閾值的選擇:,),能夠得到較為理想的邊緣檢測結果。
2 仿真實驗結果
為了驗證本文算法的性能,仿真實驗選用“rice”圖像作為測試圖像。在用遺傳算法尋取最優閾值的過程中,我們采用8位長的自然編碼方式,參數和分別取0.85和0.02。而第二次尋優初始種群的生成范圍為第一次尋優結果的半徑為50的鄰域內即A=50。
基于本文提出的改進Canny算子的邊緣檢測方法,我們可以獲取更為理想的邊緣檢測結果。對于閾值的確定,由于采用了遺傳算法,因此每次都能給出全局的最優解。與經典的方法相比,本文提出的方法優勢在于迭代次數較少(小于7次),且計算復雜度較低,從而保證了邊緣檢測方法的實時性。
3 結語
圖像邊緣是圖像最基本的特征之一,在圖像分析和理解、計算機視覺和模式識別中均具有重要作用,它是圖像分析及處理的后續步驟的前提和基礎。本文的貢獻在于針對傳統的Canny邊緣檢測算子進行了分析,找到了算子存在的問題并給出了新的改進方法,首先利用灰度拉伸方法改善了差分背景圖像邊緣檢測效果,其次通過遺傳算法產生了是影響較好的閾值,新的方法不需要過多的人機交互,同時由于二次尋優的遺傳算法迭代次數少,從而提高了閾值選取的精度和速度。
參考文獻
[1] 章毓晉.圖像分割[M].北京:科學出版社,2001:198~267.
[2] 王樹文,閆成新,張天序,趙廣州.數學形態學在圖像處理中的應用[J].計算機工程與應用,2004,32:89~92.
[3] 王忠華,汪勝前,鄧承志,等.基于層間相關性的小波邊緣檢測[J].江西師范大學學報(自然科學版),28(5):379~381.