一种改进的Sobel边缘检测算法的制作方法

文档序号:15312946发布日期:2018-08-31 22:18阅读:2261来源:国知局

本发明具体涉及一种改进的sobel边缘检测算法。



背景技术:

边缘是图像基本特征之一,边缘检测是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤。经典的边缘检测是基于检测算子的方法,通过考察待测点在某个邻域内的灰度变化,然后利用一阶或二阶方向导数变化规律,根据一定的判断标准检测出边缘。常见的边缘检测算子有roberts算子、sobel算子、prewitt算子、laplace算子、log算子、canny算子等。

经典sobel边缘检测算法先对图像进行加权平均,然后再做微分运算,对噪声具有一定的抑制能力,其对在水平和垂直方向的边缘检测性能优于其他方向的检测性能,而且定位精度也比较高,但是该算法也存在如下缺陷:

(1)仅采用水平和垂直方向上相邻像素之差进行梯度幅度计算,并未考虑其他方向上的相邻像素情况,易造成部分边缘信息丢失;

(2)算子的阈值参数需要人为设定,不具有自适应能力,阈值设置过高,会导致边缘间断,设置过低则容易产生伪边缘;

(3)算子先加权平均后差分,抑制噪声的能力不强,同时会丢失一些细节信息,使边缘有一定的模糊。



技术实现要素:

本发明要解决的技术问题是提供一种改进的sobel边缘检测算法。

一种改进的sobel边缘检测算法,包括以下步骤:

s1:设图像函数为,则梯度定义为一个向量:

其中,是水平方向梯度,是垂直方向梯度;

梯度幅值为:

向量的方向角为:

为了简化计算,幅值用以下三式来近似:

s2:目标像素点(x,y)的8邻域窗口,水平方向、垂直方向、45°方向和135°方向梯度算子分别如下:

窗口水平方向算子垂直方向算子

45°方向算子135°方向算子

则图像函数的水平方向、垂直方向、45°方向和135°方向梯度计算如下:

梯度幅值用向量的范数表示,使用无穷范数:

s3:阈值选择模型如下:

式中,a为低暗区截止灰度,取45-81之间的灰度值;b为高亮区起始灰度,取180-210之间的灰度值;i为背景亮度灰度值;为所设定阈值,灰度级为256级;

s4:如果合成梯度大于或等于阈值,即可确定目标像素点(x,y)是边缘点,即可得到边缘图像;

s5:对边缘图像进行腐蚀运算。

进一步的,阈值选择最优模型如下:

式中,i是待检像素点的邻域内的灰度平均值,即,

,表示待测点的背景亮度灰度值。

本发明的有益效果是:

本发明对经典sobel算法改进,增加了检测方向,根据待测像素背景灰度值和人眼视觉特性自适应地生成阈值,从而检测出与人的主观视觉更为一致的图像边缘,然后对边缘图像进行形态学处理,增强了算法的抗噪性。

具体实施方式

以下具体实施例对本发明作进一步阐述,但不作为对本发明的限定。

一种改进的sobel边缘检测算法,包括以下步骤:

s1:设图像函数为,则梯度定义为一个向量:

其中,是水平方向梯度,是垂直方向梯度;

梯度幅值为:

向量的方向角为:

为了简化计算,幅值用以下三式来近似:

s2:目标像素点(x,y)的8邻域窗口,水平方向、垂直方向、45°方向和135°方向梯度算子分别如下:

窗口水平方向算子垂直方向算子

45°方向算子135°方向算子

则图像函数的水平方向、垂直方向、45°方向和135°方向梯度计算如下:

梯度幅值用向量的范数表示,使用无穷范数:

s3:阈值选择模型如下:

式中,a为低暗区截止灰度,取45-81之间的灰度值;b为高亮区起始灰度,取180-210之间的灰度值;i为背景亮度灰度值;为所设定阈值,灰度级为256级;

s4:如果合成梯度大于或等于阈值,即可确定目标像素点(x,y)是边缘点,即可得到边缘图像;

s5:对边缘图像进行腐蚀运算。

阈值选择最优模型如下:

式中,i是待检像素点的邻域内的灰度平均值,即,

,表示待测点的背景亮度灰度值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1