張 博,王敏剛,馬忠強(qiáng),劉 亮
(1.衛(wèi)星導(dǎo)航系統(tǒng)與裝備技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,河北 石家莊 050081;2.中航貴州飛機(jī)有限責(zé)任公司,貴州 安順 561000)
基于Matlab的改進(jìn)邊緣提取算法
張 博1,王敏剛2,馬忠強(qiáng)1,劉 亮1
(1.衛(wèi)星導(dǎo)航系統(tǒng)與裝備技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,河北 石家莊 050081;2.中航貴州飛機(jī)有限責(zé)任公司,貴州 安順 561000)
在圖像的預(yù)處理過(guò)程中,邊緣提取是非常重要的一個(gè)環(huán)節(jié)。針對(duì)目前邊緣提取算法不能提取有效的圖像邊緣,提出了對(duì)現(xiàn)有圖像邊緣提取算法進(jìn)行改進(jìn)的方案。方案改進(jìn)的思路是對(duì)現(xiàn)有圖像預(yù)處理算法進(jìn)行整合和優(yōu)化一些重要參數(shù),并使用Matlab仿真平臺(tái)對(duì)改進(jìn)方案進(jìn)行仿真。在此過(guò)程中,使用了Canny邊緣提取技術(shù)、自適應(yīng)閾值分割技術(shù)和形態(tài)學(xué)濾波技術(shù)等,并對(duì)這些方法的處理流程進(jìn)行分析。仿真結(jié)果表明,合理的算法整合能夠有效地改進(jìn)邊緣提取的效果。
圖像處理;邊緣提??;閾值分割;形態(tài)學(xué)濾波;連通域標(biāo)記
邊緣是指圖像中灰度變化劇烈的相關(guān)像素的集合[1],有效描述了圖像的輪廓以及部分細(xì)節(jié)信息。邊緣作為圖像空間域中的重要特征之一,它的準(zhǔn)確檢測(cè)對(duì)于人們理解和應(yīng)用圖像具有深刻的指導(dǎo)意義[2]。邊緣提取作為圖像預(yù)處理過(guò)程中關(guān)鍵的一步,其提取效果直接影響著后續(xù)模式識(shí)別與目標(biāo)定位跟蹤的準(zhǔn)確度與精度[3]。目前邊緣提取算法有很多,但是都存在著一些缺點(diǎn),不能有效提取圖像的邊緣[4]。
基于現(xiàn)有一些圖像預(yù)處理算法的整合以及相關(guān)參數(shù)優(yōu)化,提出了一種改進(jìn)的邊緣提取算法。選用Canny邊緣提取算子以及自適應(yīng)閾值分割算法,使用改進(jìn)的中值濾波、連通域分析以及形態(tài)學(xué)濾波對(duì)目標(biāo)圖像進(jìn)行處理,并對(duì)基于Canny準(zhǔn)則的最優(yōu)濾波進(jìn)行了研究和實(shí)際應(yīng)用。使用Matlab仿真平臺(tái)對(duì)改進(jìn)算法進(jìn)行仿真,Matlab圖像處理工具箱中包含大量的封裝好的圖像處理函數(shù),大大簡(jiǎn)化開(kāi)發(fā)難度與開(kāi)發(fā)周期[5]。
1.1 Canny提取算子
Canny算子是一種比較新的邊緣檢測(cè)算子,它具有很好的邊緣檢測(cè)能力,在圖像邊緣提取中得到了越來(lái)越廣泛的應(yīng)用[6]。Canny邊緣檢測(cè)算法的具體流程為:
① 首先用2D高斯濾波模板對(duì)圖像進(jìn)行卷積以消除噪聲;
② 利用導(dǎo)數(shù)算子找到圖像灰度沿著2個(gè)方向的偏導(dǎo)數(shù)(Gx,Gy),并求出梯度的大?。?/p>
(1)
③ 利用式(2)中的結(jié)果計(jì)算出梯度的方向:
(2)
④ 一旦知道了邊緣的方向,就可以把邊緣的梯度方向大致分為4種:水平、豎直、45°方向、135°方向,通過(guò)梯度的方向,就可以找到這個(gè)像素梯度方向的鄰接像素;
⑤ 遍歷圖像,若某個(gè)像素的灰度值與其梯度方向上前后兩個(gè)像素的灰度值相比不是最大的,那么這個(gè)像素值置為0,即不是邊緣;
⑥ 使用累計(jì)直方圖計(jì)算2個(gè)閾值,大于高閾值的一定是邊緣,小于低閾值的一定不是邊緣,介于之間的,看這個(gè)像素的鄰接像素中有沒(méi)有超過(guò)高閾值的邊緣像素,如果有,那么它就是邊緣,否則它就不是邊緣[7]。
相對(duì)于其他幾種算子,Canny算子不容易受噪聲干擾,能夠檢測(cè)到真正的弱邊緣。它使用2種不同的閾值分別檢測(cè)強(qiáng)邊緣和弱邊緣,并且當(dāng)弱邊緣和強(qiáng)邊緣相連時(shí),才將弱邊緣包含在輸出圖像中[8],具有很好的魯棒性。
1.2 自適應(yīng)閾值分割技術(shù)
Otsu算法,它是一種自適應(yīng)的閾值分割方法。它是按圖像的灰度特性,將圖像分成背景和目標(biāo)2部分。背景和目標(biāo)之間的類(lèi)間方差越大,說(shuō)明構(gòu)成圖像的2部分差別越大,當(dāng)部分目標(biāo)錯(cuò)分為背景或部分背景錯(cuò)分為目標(biāo)都會(huì)導(dǎo)致2部分差別變小。因此,使類(lèi)間方差最大的分割意味著錯(cuò)分概率最小。
在Otsu算法中,以閾值k為分界線,將所有的像素分為目標(biāo)C0和背景C1兩類(lèi)。其中,C0類(lèi)的像素灰度級(jí)為0~k-1,C1類(lèi)的像素灰度級(jí)為k~L-1,Pi為第i個(gè)灰度級(jí)的像素占圖像總像素的比例。
C0類(lèi)像素的平均灰度級(jí)μ0和C1類(lèi)像素的平均灰度級(jí)μ1,計(jì)算方法分別為:
(3)
(4)
最大類(lèi)間方差的公式為:
(5)
令k從0~L-1變化,計(jì)算在不同k值下的類(lèi)間方差δ2(k),使得δ2(k)最大值時(shí)的那個(gè)k值就是所要求的最優(yōu)閾值[9]。
Otsu閾值分割法因其算法簡(jiǎn)單,實(shí)施性強(qiáng),分割效果較好而得到廣大學(xué)者的青睞,但是當(dāng)圖像的目標(biāo)和背景區(qū)域的像素灰度差值不明顯時(shí),會(huì)導(dǎo)致較大的分割錯(cuò)誤[10],可以考慮使用改進(jìn)的Otsu算法。
1.3 形態(tài)學(xué)濾波技術(shù)
圖像在生成、傳輸、變換過(guò)程中會(huì)受到各種噪聲的干擾,圖像會(huì)變得模糊[11]。為此,首先進(jìn)行圖像濾波來(lái)去除噪聲。然而,在使用傳統(tǒng)濾波器去噪的同時(shí),圖像的細(xì)節(jié)特征也變模糊了,不利于后續(xù)處理。為此,前輩們提出形態(tài)學(xué)濾波的方法,它以數(shù)學(xué)形態(tài)學(xué)為基礎(chǔ),以結(jié)構(gòu)元素為模版進(jìn)行圖像濾波。
設(shè)用δ表示離散的二維歐幾里德空間,圖像A是δ的一個(gè)子集,結(jié)構(gòu)元素B也是δ的一個(gè)子集,x∈δ是歐氏空間中的一個(gè)點(diǎn)。
定義1:集合A被集合B腐蝕,表示為AΘB,其定義為:
(6)
式中,?表示子集關(guān)系,AΘB由將B平移x但仍包含在A內(nèi)的所有點(diǎn)x組成。
定義2:集合A被集合B膨脹,表示為A?B,其定義為:
(7)
式中,Ac表示A的補(bǔ)集,為了利用B膨脹A,可將B相對(duì)原點(diǎn)旋轉(zhuǎn)180°得到-B,再利用-B對(duì)Ac進(jìn)行腐蝕,腐蝕結(jié)果的補(bǔ)集,便是所求的結(jié)果[12]。
在實(shí)際應(yīng)用中,需要針對(duì)應(yīng)用場(chǎng)景的自身特性,選擇適當(dāng)?shù)奶幚硭惴?,從而達(dá)到最佳的圖像形態(tài)運(yùn)算效果[13]。
選取車(chē)輪圖像與衣服吊牌圖像同時(shí)進(jìn)行處理,來(lái)驗(yàn)證本文提出算法的有效性與可靠性。對(duì)于圖像處理來(lái)說(shuō),整個(gè)流程主要分為2大部分:圖像預(yù)處理與圖像分析、識(shí)別、理解。本文所做的工作是圖像的預(yù)處理部分。使用Matlab仿真平臺(tái)進(jìn)行圖像邊緣提取的整個(gè)流程的仿真。具體步驟為:
① 使用imread函數(shù)分別讀取車(chē)輪以及衣服吊牌的彩色圖像。但是由于彩色圖像存在R、G、B三個(gè)色度分量,數(shù)據(jù)量太大,不方面后期處理。因此需要將彩色圖像轉(zhuǎn)換成灰度圖像,轉(zhuǎn)換矩陣如式(8)所示。Y、U、V分別代表圖像的亮度、紅色色差與藍(lán)色色差分量,實(shí)際中只需獲取矩陣的Y分量,就可以得到灰度圖像。使用rgb2gray函數(shù)將2張圖像分別轉(zhuǎn)換成灰度圖像如圖1所示。
(8)
圖1 車(chē)輪和衣服吊牌的灰度圖
② 直方圖的獲取是通過(guò)計(jì)算圖像中每一灰度階的像素個(gè)數(shù),然后將灰度階與像素個(gè)數(shù)的對(duì)應(yīng)關(guān)系用柱形圖表示,即可得到圖像的灰度直方圖[14]。使用imhist函數(shù)分別計(jì)算這2張圖像的灰度直方圖如圖2所示。由于前期對(duì)這2張圖像進(jìn)行過(guò)直方圖均衡化處理,使圖像的對(duì)比度大幅提高,因此圖2中這2張圖像的直方圖具有明顯的雙峰特性。
圖2 車(chē)輪和衣服吊牌圖像的灰度直方圖
③ 使用Otsu算法,通過(guò)迭代搜索,求出這2張圖像的最優(yōu)閾值[15]。由于這2張圖像的直方圖具有明顯的雙峰特性,因此使用該方法能求出可信度較高的閾值。然后使用im2bw函數(shù)根據(jù)剛才求取的閾值,分別將它們進(jìn)行二值化如圖3所示。
圖3 車(chē)輪和衣服吊牌的二值圖
④ 使用形態(tài)學(xué)腐蝕函數(shù)imerode與形態(tài)學(xué)膨脹函數(shù)imdilate先后對(duì)這2張圖像分別進(jìn)行形態(tài)學(xué)濾波處理,效果如圖4所示。圖4中,由圖像二值化帶來(lái)的塊狀干擾,絕大部分已經(jīng)被濾除干凈了。其中,車(chē)輪圖像中的2個(gè)大塊干擾由連通域分析算法濾除的。結(jié)構(gòu)元素的選擇非常重要,它直接影響著邊緣提取的準(zhǔn)確度。經(jīng)過(guò)多次試驗(yàn)得出,結(jié)構(gòu)元素選取“4*4”菱形模板,并且保留1個(gè)最大的連通域塊結(jié)構(gòu),濾波效果最好。
圖4 濾波處理后的車(chē)輪和衣服吊牌圖
⑤ 實(shí)驗(yàn)室中曾經(jīng)分別使用參數(shù)為“canny”和參數(shù)為“l(fā)og”的edge函數(shù)分別對(duì)這2張圖像進(jìn)行邊緣提取,發(fā)現(xiàn)使用Canny算子提取的邊緣效果較好。因此此次使用參數(shù)為“canny”的edge函數(shù)分別提取這2張圖像的邊緣如圖5所示。
由圖5可見(jiàn),提取的圖像邊緣,已經(jīng)很大限度地排除了背景的干擾,但是目標(biāo)內(nèi)部還存在一定程度的雜散邊緣干擾,這部分干擾在空間域無(wú)法被濾除,需要在二維相關(guān)域進(jìn)行濾除。即使不在相關(guān)域進(jìn)行濾波,也對(duì)后續(xù)的曲線擬合與模式識(shí)別幾乎沒(méi)有影響。實(shí)際圖像處理工程中,對(duì)圖像的每一步處理過(guò)程中的參數(shù)都不是確定的,這些參數(shù)往往根據(jù)工程實(shí)踐經(jīng)驗(yàn)進(jìn)行選取[16]。
圖5 邊緣提取后的車(chē)輪和衣服吊牌圖
使用Matlab圖像處理工具箱中的各種函數(shù)對(duì)不同環(huán)境下的圖像進(jìn)行目標(biāo)邊緣的提取工作。此次提出方法能有效地提取高信噪比和低信噪比圖像中的邊緣。對(duì)于車(chē)輪中的邊緣,可以使用Hough變換提取圖中的橢圓,找出圓心位置,用于車(chē)輪的定位。對(duì)于衣服吊牌中的邊緣,可以使用模式識(shí)別的方法提取出衣服尺碼,用于智能識(shí)別系統(tǒng)中。由此可見(jiàn),此次提出的這些組合方法及參數(shù)改進(jìn)比較有效,而且對(duì)后續(xù)的圖像分析與理解有著一定的幫助。
[1] 趙春暉.現(xiàn)代圖像處理技術(shù)及Matlab實(shí)現(xiàn)[M].北京:人民郵電出版社,2001:152-157.
[2] 莫燦林.數(shù)字圖像邊緣檢測(cè)方法的若干改進(jìn)與應(yīng)用研究[D].杭州:浙江理工大學(xué),2010:1-8.
[3] 何斌.數(shù)字圖像處理[M].北京:人民郵電出版社,2001:18-25.
[4] 雷麗珍.數(shù)字圖像邊緣檢測(cè)方法的對(duì)比分析及優(yōu)化[J].甘肅科學(xué)學(xué)報(bào),2012,24(3):143-146.
[5] 杜丹,潘志斌,于君娜,等.帶地理信息的無(wú)人機(jī)遙感圖像拼接系統(tǒng)的實(shí)現(xiàn)[J].無(wú)線電工程,2014,44(6):39-42.
[6] 龍清.基于Sobel和Canny算子的電視字幕檢測(cè)[J].電視技術(shù),2011,35(13):67-85.
[7] 趙菁.基于圖像處理的指針式儀表識(shí)別設(shè)計(jì)[D].西安:西安電子科技大學(xué),2011:8-15.
[8] 柏春嵐.Matlab在圖像邊緣提取中的應(yīng)用[J].計(jì)算機(jī)與網(wǎng)絡(luò),2009(14):224-225.
[9] 拜穎乾.圖像分割閾值選取方法的研究[J].信息系統(tǒng)工程,2014(2):146-147.
[10]褚巧龍.基于Otsu的圖像閾值分割算法的研究[D].秦皇島:燕山大學(xué),2011:16-28.
[11]陳茹,張珍明,邢益雪,等.一種改進(jìn)的含噪圖像邊緣檢測(cè)算法[J].無(wú)線電工程,2016,46(6):38-40.
[12]楊麗雯,曾朝陽(yáng),張永繼.一種基于數(shù)學(xué)形態(tài)學(xué)的灰度圖像邊緣監(jiān)測(cè)方法[J].國(guó)外電子測(cè)量技術(shù),2012,31(2):27-38.
[13]王旭晨,孫愛(ài)程.一種基于閾值的圖像分割算法研究[J].無(wú)線電工程,2012,42(9):34-37.
[14]李思嘉,趙曉焱,張繼學(xué).基于OTSU算法的圖像分割有效性研究[J].無(wú)線電通信技術(shù),2014,40(5):54-56.
[15]何國(guó)棟,丁緒星,秦慧平,等.一種新的圖像自適應(yīng)閾值去噪方法[J].無(wú)線電通信技術(shù),2014,40(2):60-62.
[16]沈玉,蘭瑞田.噪聲圖像邊緣檢測(cè)中改進(jìn)Sobel算法的仿真實(shí)現(xiàn)[J].無(wú)線電工程,2014,44(8):27-30.
Improved Edge Extraction Algorithm Based on Matlab
ZHANG Bo1,WANG Min-gang2,MA Zhong-qiang1,LIU Liang1
(1. State Key Laboratory of Satellite Navigation System and Equipment Technology,Shijiazhuang Hebei 050081,China;2. Catic Guizhou Aircraft Co. Ltd,Anshun Guizhou 561000,China)
In the process of image pre-processing,edge extraction is a very important step. Considering that current edge extraction algorithms cannot extract valid image edges,an improve method based on current edge extraction algorithm is proposed. The idea is to integrate some current algorithms and optimize some important parameters,then simulate the algorithm in the Matlab simulation platform. In this process,techniques such as Canny edge extraction,adaptive threshold segmentation and morphological filtering are used,and the processing of these methods are analyzed. The results show that the combination of these methods can effectively improve the quality of edge extraction.
image processing;edge extraction;threshold segmentation;morphological filtering;connectivity domain tag
10. 3969/j.issn. 1003-3114. 2017.04.07
張博,王敏剛,馬忠強(qiáng),等. 基于Matlab的改進(jìn)邊緣提取算法[J].無(wú)線電通信技術(shù),2017,43(4):26-29.
[ZHANG Bo,WANG Mingang,MA Zhongqiang,et al. Improved Edge Extraction Algorithm Based on Matlab [J]. Radio Communications Technology,2017,43(4):26-29. ]
2017-04-17
國(guó)家自然科學(xué)基金重大研究計(jì)劃項(xiàng)目(91638203);國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2016YFB0502402,2016YFB0502101)
張 博(1986—),男,碩士,工程師,主要研究方向:地面運(yùn)控系統(tǒng)和信息處理。王敏剛(1980—),男,本科,主要研究方向:無(wú)人機(jī)導(dǎo)航。馬忠強(qiáng)(1988—),男,碩士,主要研究方向:信號(hào)處理和信息處理。
TN961
A
1003-3114(2017)04-26-4