Sobel图像边沿检测算法的优化设计与实现图像边沿检测算法的优化设计与实现
针对Sobel算子用于图像边沿检测时出现的噪声大、边沿较粗等问题,提出了一种Sobel图像边沿检测的优化设
计方案。在传统的Sobel边沿检测模块前增加快速中值滤波模块,提高了系统的抗噪能力。同时在Sobel边沿检
测模块后采用非极大值抑制的方式对图像边沿进一步细化,既有效地保留了图像边沿,又提高了图像边沿的清
晰度。与传统Sobel检测模块相比,优化后的方案不仅能够有效抑制噪声,而且得到的图像边沿更细,增强了实
时图像处理的效果。该优化设计已成功应用于某图像识别系统。
0 引言引言
图像边沿是图像的基本特征,是图像分割、特征提取等图像分析的重要依据,目前已广泛应用于目标识别、机器视觉和运
动目标跟踪等领域。现今已有多种
设计中,基于图像处理的相关理论对Sobel边沿检测算法进行了改进,在传统的Sobel算法的基础上增加了
1 Sobel图像边沿检测优化设计图像边沿检测优化设计
Sobel算法虽然在图像边沿检测方面具有诸多优势,然而对于图像实时处理还是存在抗噪能力弱、边沿信息较粗等问题,所
以需进一步改进。优化后的边沿检测模块主要由快速中值滤波模块、边沿检测模块和非极大值抑制模块构成。检测模块总体设
计如图1所示。
当图像数据输入时,首先进行快速中值滤波处理,平滑图像噪声,然后通过Sobel算子得到图像的梯度值,最后应用阈值比
较和非极大值抑制的方式提取图像边沿,进行二值化处理,从而得到清晰的图像边沿。
1.1 快速中值滤波快速中值滤波
在图像采集传输过程中,不可避免地出现各种各样的噪声,这些噪声不仅降低了图像的质量,而且会影响后续图像的处
理。中值滤波能够有效滤除椒盐噪声和脉冲噪声,有效地保持图像边沿的细节,是一种比较理想的图像滤波算法。它通过对相
邻区域内的像素进行排序,取中间值作为输出像素,以达到滤波的效果。基本的中值滤波算法运算量大,不利于实时图像处
理。设计采用快速中值滤波算法,提高了图像处理的效率,实现方法如图2所示,其中MAXi、MIDi、MINi分别代表每行数据
的最大值、中间值与最小值。依据图2所示,通过多次比较(CMP)就可以得到最终的滤波结果。
1.2 Sobel边沿检测边沿检测
Sobel算子是一阶导数的边缘检测算子,包含水平和垂直2组3×3的矩阵,将之与图像中的每个像素点做卷积和运算,即得到
图像的水平和垂直梯度值,再根据梯度计算公式算出图像梯度值,将此梯度值与设定的阈值进行比较,若大于阈值,则认为该
像素点为边缘部分,把3×3二维图像中央的灰度值设为255,若小于阈值,就不是边缘部分,相应的灰度值设为0。
图3(a)为一帧图像的3×3窗口,Pi为各点的灰度值,图3(b)和图3(c)分别为Sobel算子水平和垂直方向梯度算子。针对图像中
3×3的像素空间,Sobel算子采用式(1)和式(2)计算中间像素点P
5
处的水平梯度P
x
与垂直梯度Py。
Px=(P6+2P7+P8)-(P0+2P1+P2)(1)