本发明具体涉及一种改进的sobel边缘检测算法。
背景技术:
边缘是图像基本特征之一,边缘检测是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤。经典的边缘检测是基于检测算子的方法,通过考察待测点在某个邻域内的灰度变化,然后利用一阶或二阶方向导数变化规律,根据一定的判断标准检测出边缘。常见的边缘检测算子有roberts算子、sobel算子、prewitt算子、laplace算子、log算子、canny算子等。
经典sobel边缘检测算法先对图像进行加权平均,然后再做微分运算,对噪声具有一定的抑制能力,其对在水平和垂直方向的边缘检测性能优于其他方向的检测性能,而且定位精度也比较高,但是该算法也存在如下缺陷:
(1)仅采用水平和垂直方向上相邻像素之差进行梯度幅度计算,并未考虑其他方向上的相邻像素情况,易造成部分边缘信息丢失;
(2)算子的阈值参数需要人为设定,不具有自适应能力,阈值设置过高,会导致边缘间断,设置过低则容易产生伪边缘;
(3)算子先加权平均后差分,抑制噪声的能力不强,同时会丢失一些细节信息,使边缘有一定的模糊。
技术实现要素:
本发明要解决的技术问题是提供一种改进的sobel边缘检测算法。
一种改进的sobel边缘检测算法,包括以下步骤:
s1:设图像函数为
其中,
梯度幅值为:
向量的方向角为:
为了简化计算,幅值用以下三式来近似:
s2:目标像素点(x,y)的8邻域
45°方向算子135°方向算子
则图像函数
梯度幅值用向量
s3:阈值选择模型如下:
式中,a为低暗区截止灰度,取45-81之间的灰度值;b为高亮区起始灰度,取180-210之间的灰度值;i为背景亮度灰度值;
s4:如果合成梯度大于或等于阈值,即可确定目标像素点(x,y)是边缘点,即可得到边缘图像;
s5:对边缘图像进行腐蚀运算。
进一步的,阈值选择最优模型如下:
式中,i是待检像素点的
本发明的有益效果是:
本发明对经典sobel算法改进,增加了检测方向,根据待测像素背景灰度值和人眼视觉特性自适应地生成阈值,从而检测出与人的主观视觉更为一致的图像边缘,然后对边缘图像进行形态学处理,增强了算法的抗噪性。
具体实施方式
以下具体实施例对本发明作进一步阐述,但不作为对本发明的限定。
一种改进的sobel边缘检测算法,包括以下步骤:
s1:设图像函数为
其中,
梯度幅值为:
向量的方向角为:
为了简化计算,幅值用以下三式来近似:
s2:目标像素点(x,y)的8邻域
45°方向算子135°方向算子
则图像函数
梯度幅值用向量
s3:阈值选择模型如下:
式中,a为低暗区截止灰度,取45-81之间的灰度值;b为高亮区起始灰度,取180-210之间的灰度值;i为背景亮度灰度值;
s4:如果合成梯度大于或等于阈值,即可确定目标像素点(x,y)是边缘点,即可得到边缘图像;
s5:对边缘图像进行腐蚀运算。
阈值选择最优模型如下:
式中,i是待检像素点的