韓龍飛,逯超
?
基于改進Sobel算子邊緣檢測的實現(xiàn)
韓龍飛,逯超
(長安大學(xué)汽車學(xué)院,陜西 西安 710064)
邊緣檢測已經(jīng)成為計算機視覺領(lǐng)域最活躍的課題之一。傳統(tǒng)的Sobel算子邊緣檢測算法存在精度不高、提取的邊緣特征粗略等缺陷,文章提出了一種改進的Sobel算子邊緣檢測算法,在原有水平和垂直方向上增加了兩個對角線方向上的模板,提高了對彎道路面上車道線的識別精度。在MATLAB R2018b平臺下仿真實驗,結(jié)果表明,該方法提取得到的邊緣更加精細,局部特性更好,抗噪聲能力更強。
Sobel算子;邊緣檢測;四方向模板;車道識別
邊緣檢測是圖像分割算法的一種,圖像的邊緣是指其局部區(qū)域亮度變化最顯著的部分,主要存在于目標(biāo)、目標(biāo)與背景以及區(qū)域與區(qū)域之間[1]。圖像上的邊緣點一般是圖像函數(shù)的極值點或者間斷點,因此,檢測圖像的邊緣特征就轉(zhuǎn)化為求解圖像函數(shù)的極值點或間斷點。從數(shù)學(xué)角度上解釋,可以通過求解圖像函數(shù)的梯度得到圖像邊緣,圖像的梯度可以用一階導(dǎo)數(shù)和二階導(dǎo)數(shù)來求解。一階導(dǎo)數(shù)檢測邊緣是否存在,二階導(dǎo)數(shù)的過零點的位置就是邊緣的準(zhǔn)確位置,二階導(dǎo)數(shù)的正負代表暗亮部分[2]。由于數(shù)字圖像是以矩陣的形式儲存,矩陣的每個元素值在0-255之間,因此無法直接對其求導(dǎo)。通常把圖像作為一個平面或者曲面,采用某種算子對圖像矩陣進行卷積運算,從而得到圖像的梯度。
傳統(tǒng)的邊緣檢測梯度算法主要是基于圖像強度的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)?;谝浑A導(dǎo)數(shù)的算子主要有Roberts算子、Sobel算子和Prewitt算子,基于二階導(dǎo)數(shù)的算子主要有Laplacian算子、Log算子、Canny算子。本文重點介紹傳統(tǒng)Sobel算法原理以及改進的Sobel算子邊緣檢測算法。
Sobel算法簡單、計算量小、速度快,并且對硬件要求低,成為最常用的算法之一,它是一種基于圖像強度的一階導(dǎo)數(shù)的離散型差分算子。Sobel算子使用水平和垂直兩個方向的3×3卷積模板(如圖1所示)分別對原圖像進行領(lǐng)域平均計算,然后計算圖像的一階導(dǎo)數(shù)從而得到圖像的邊緣點,這些點的集合構(gòu)成了圖像的邊緣。圖像強度變化緩慢的區(qū)域,相鄰像素間的灰度值變化也較小,梯度幅值較??;而在圖像的邊緣,相鄰像素間的灰度值變化劇烈,梯度幅值較大。因此可通過計算圖像梯度幅值判斷圖像中是否存在邊緣以及確定邊緣的準(zhǔn)確位置。通常用圖像函數(shù)的一階導(dǎo)數(shù)判斷圖像中是否存在邊緣,用二階導(dǎo)數(shù)確定邊緣點的精確位置。設(shè)H()代表圖像函數(shù),則可以根據(jù)式(1)求出圖像的梯度向量。
式中,?H(x,y)代表圖像函數(shù)的梯度向量,Hx代表圖像的水平方向梯度,Hy代表圖像的縱向梯度。
圖2是圖像中心點()對應(yīng)的3×3模板鄰域內(nèi)像素點的分布。
圖2 H(i,j)的領(lǐng)域像素分布
在數(shù)字圖像中,圖像梯度的模也稱為梯度,可以通過(2)式求得。
在實際應(yīng)用中,為了計算方便,常用式(3)近似計算。
梯度的方向:
代表圖像強度變化的方向。
(1)將圖像的每個像素點都分別與圖1所示卷積模板進行卷積運算,用卷積結(jié)果的最大值替換卷積模板中心所對應(yīng)的像素值,作為新圖像的灰度值,即:
式中,()為新的灰度圖像像素點,H()H()分別為水平、垂直方向模板對同一像素點的卷積值。
(2)所有的像素卷積運算后得到一幅新的灰度圖像。
(3)選取一個合適的閾值T,若圖像梯度值大于該閾值T,則認(rèn)為該像素點為邊緣點[3]。從數(shù)學(xué)上解釋,如式(6)所示。
由此可知,閾值的選取對圖像的質(zhì)量起決定性作用,若閾值T選的過大,會丟失一些邊緣;若選的過小,則會留下較多的噪聲。
雖然傳統(tǒng)的Sobel邊緣檢測算法簡單、計算量小、速度快[4],但由于考慮的邊緣方向較少,只有水平方向和垂直方向,在彎曲路面上檢測到的邊緣圖像常常會丟失一些細節(jié),具有一定的局限性。因此,本文針對傳統(tǒng)的Sobel邊緣檢測法,提出一種改進Sobel算子的邊緣檢測法,即在原有的水平和垂直兩個方向的基礎(chǔ)上增加兩個對角線方向,構(gòu)成4個方向的卷積模板,如圖3所示。
圖3 改進的Sobel算子卷積模板
改進的Sobel算子重新調(diào)整了原有水平和垂直方向的梯度的權(quán)值,并提高了對角方向梯度的權(quán)值,使得該算法對斜向邊緣特征的提取更加準(zhǔn)確。
圖4 改進的Sobel算子流程圖
設(shè)為的圖像矩陣(如式(7)所示),則改進Sobel算子的邊緣檢測實現(xiàn)主要步驟如下:
(1)將圖4所示卷積模板分別與圖像矩陣進行卷積運算。
(2)卷積運算結(jié)果最大值替換原像素點的灰度值,邊緣方向即為最大梯度相應(yīng)的模板方向。
(3)圖像的二值化。取合適的閾值T,根據(jù)式(5)對新的灰度圖像進行二值化處理,得到一幅二值化圖像。
基于上述改進的Sobel算法,在MATLAB R2018b平臺下進行仿真實驗,傳統(tǒng)的Sobel邊緣檢測與改進的Sobel邊緣檢測效果對比如圖5至圖8所示。從圖中可以看出,改進后的圖像邊緣信息更加完整、清晰、明亮。
圖5 傳統(tǒng)的Sobel算法
圖6 改進的Sobel算法
圖7 傳統(tǒng)的Sobel算法
圖8 改進的Sobel算法
圖像邊緣檢測技術(shù)在生產(chǎn)安全監(jiān)控、生物工程、醫(yī)學(xué)診斷、工業(yè)自動化、車道識別、遙感遙測及故障檢測等領(lǐng)域應(yīng)用廣泛,并起著重要作用[5]。本文針對傳統(tǒng)Sobel邊緣檢測算法存在的不足,提出了一種改進Sobel邊緣檢測的算法,在原有水平和垂直方向上增加了兩個對角線檢測方向,提高了對斜向邊緣的檢測效果。在MATLAB R2018b平臺下進行仿真實驗,結(jié)果證明,改進的Sobel算法相比傳統(tǒng)的Sobel算法有著明顯的提升,檢測的邊緣更加精細,局部特性更好,抗噪聲能力更強。
[1] 王文峰,阮俊虎.MATLAB計算機視覺與機器認(rèn)知[M].北京:北京航空航天大學(xué)出版社,2017.
[2] 王易川.基于視頻的ADAS車道監(jiān)測系統(tǒng)的研究[D].杭州電子科技大學(xué),2018:11-21.
[3] 梁娟.一種基于Sobel圖像邊緣檢測的改進算法[J].軟件導(dǎo)刊,2014,13(12):79-82.
[4] 孟子惠.基于圖像處理的車道偏離預(yù)警方法仿真與實現(xiàn)[D].東北石油大學(xué),2018:14-21.
[5] 沈海德,張龍昌.基于Sobel算子的改進邊緣檢測算法[J].信息技術(shù),2015(04):15-19.
An improved implementation of Sobel operator edge detection
Han Longfei, Lu Chao
( Chang'an University Automobile College, Shaanxi Xi’an 710064 )
Edge detection has become one of the most active topics in the field of computer vision. The traditional Sobel operator edge detection algorithm has some defects such as low precision and rough edge feature extraction. This paper proposes an improved Sobel operator edge detection algorithm, which adds two diagonal directions in the original horizon -tal and vertical directions. The upper template improves the recognition accuracy of the lane lines on the curved road surface. The simulation experiment under MATLAB R2018b platform shows that the extracted edges are more refined, the local characteristics are better, and the anti-noise ability is stronger.
Sobel operator; edge detection; four-direction template; lane line recognition
U462
B
1671-7988(2019)08-109-03
U462
B
1671-7988(2019)08-109-03
韓龍飛(1995-),男,就讀于長安大學(xué)汽車學(xué)院車輛工程專業(yè),研究方向:無人駕駛車輛控制技術(shù)。
10.16638/j.cnki.1671-7988.2019.08.035