APP下载

基于高低帽变换的优化边缘检测算法研究

2019-11-06张金凤

西安理工大学学报 2019年3期
关键词:形态学算子边缘

张金凤,刘 昕

(西安理工大学 印刷包装与数字媒体学院,陕西 西安 710048)

印刷出的图像通过扫描设备以数字图像的形式在计算机中存储,对印刷图像边缘的检测实际上是将数字图像的目标区域与背景区域区分开。图像边缘检测算子有很多,根据计算边缘导函数类型的不同,可以将边缘检测算子分为一阶导函数和二阶导函数两类。通常情况下,一阶导函数对边缘定位速度快且节约检测时间,二阶导函数相对复杂,实验中针对一阶算子进行了重点研究。Sobel边缘检测算子以一阶导函数为基础,因计算简单、速度快而被广泛应用,但是此算法存在漏检边缘、抗噪能力低、边缘线条较粗糙等问题,只能满足精度不高的检测需求。国内外研究者针对图像边缘检测做了许多研究,文献[1]在传统Sobel算法的基础上改进为8方向的5×5检测模板,增强了算法的抗噪性,但计算时间较长,导致边缘线条较粗糙。文献[2]提出采用击中击不中变换的优化边缘提取算法,虽然能避免图像的漏检,但在消除图像伪边缘的同时也造成了图像细节的丢失。文献[3]引入数学形态学模型,提出一种基于形态学中高低帽变换预处理后再进行迭代分割的改进优化算法,此优化算法计算时间长且运行程序过于复杂,而且需要特定的图像,并不具有鲁棒性特点。

1 理论分析

1.1 传统的Sobel算子原理

传统的Sobel算子[4-5]主要对0°与180°的水平方向和90°与270°的垂直方向上的边缘信息比较敏感,容易检测到边缘信息。这样会导致图像的其他方向因为检测方向的限制而丢失图像边缘检测的信息。Sobel是一阶导函数图像边缘检测算子,也称为梯度边缘算子[6],它是通过图像边缘梯度在图像的边缘取得极大值来进行检测的。梯度I是一个矢量,它具有方向θ和模|ΔI|,由式(1)、(2)、(3)可以分别求出ΔI、|ΔI|、θ值。

(1)

(2)

θ=arctan(Iy/Ix)

(3)

图像边缘梯度中的|ΔI|表示图像边缘的强弱信息,|ΔI|值越大,表示是图像边缘信息的可能性越大,反之则越小。θ值表示梯度的方向,梯度的方向自始至终是与边缘的方向垂直的。在应用编程语言对图像边缘进行检测时,通常用有限差分[7]来计算边缘信息:

(4)

(5)

式中:h表示接近图像边缘的距离;△x和△y表示像素点的距离在0~1之间的增量。

图1 3×3像素模板和梯度方向表示

如图1所示,3×3像素模板中心像元(即中心像素点(i,j))的梯度为:

(6)

(7)

式中:Mx、My分别为水平方向和垂直方向模板计算公式;c为中心像元权值;a0~a7为中心像元周围的像素。

当c=2时,便得到传统的Sobel边缘检测模板:

1.2 改进Sobel边缘检测算子

在1.1节中对传统的Sobel算子模板生成原理进行了分析,也是在此基础上对其进行改进,加入45°与225°方向和135°与315°方向的两个模板。新添加的模板分别用m45°和m135°表示。这样的改进措施其改进原理是在水平和垂直方向检测的基础上扩大了检测的方向范围,因而对图像的检测更加精准。

(8)

(9)

根据图像检测中其检测方向的对称性,将0°~360°梯度方向角归并成四个方向,如图2所示:0°与180°方向、45°与225°方向、90°与270°方向、135°与315°方向。其他方向以此类推,都可以找到相应的对称方向。

图2 算子方向

1.3 添加高低帽形态学变换

用算法对图像的边缘进行提取,提取到的边缘会有两类,即真边缘和假边缘[8]。在图像的边缘检测中,应用传统的检测算子时假边缘的出现是无法避免的,这就需要对现有算子进行改进,以此来消除假边缘效应的存在。将形态学算子加入改进后的Sobel算子中,不仅消除了假边缘,而且还使图像的边缘细节更加完整。形如f(x,y)和b(x,y)的图像函数,f(x,y)为输入图像,b(x,y)为结构元素。

1)膨胀运算:

(f⊕b)(s,t)=max{f(s-x,t-y)+

b(x,y)|(s-x,t-y)∈Df,(x,y)∈Db}

(10)

式中:Df和Db分别为f和b的定义域。

2)腐蚀运算:

(fΘb)(s,t)=min{f(s+x,t+y)-

b(x,y)|(s+x,t+y)∈Df,(x,y)∈Db}

(11)

3)开运算:

f∘b=(fΘb)⊕b

(12)

4)闭运算:

f·b=(f⊕b)Θb

(13)

膨胀运算的作用是对图像的边缘未连接部分进行连接,使图像的边缘显现出更多。腐蚀运算的作用是尽可能的对图像的边缘进行收缩,消除假边缘现象的存在。虽然膨胀腐蚀运算能使边缘进行有效的连接,但同时也可能改变边缘的信息,而开闭运算正好能弥补其不足之处,同时还具有其相应的优点。

5)高低帽变换:

高低帽变换是由式(10)~(13)几种算子组合而成的,高帽变换可以突出图像细节,低帽变换可以突出相连接目标间的界限。在改进的Sobel边缘检测图像上加上高帽变换的结果再减去低帽变换,可以有效提高图像的对比度,丰富细节信息。

形态学top-hat变换:

Hhat=f-(f∘b)

(14)

形态学bottom-hat变换:

Bhat=(f·b)-f

(15)

2 实 验

实验图像来自于图像库里的标准图像,通过对标准图像的检测可以避免很多图片自身问题所带来的干扰。图3为实验图像,实验的硬件配置如表1所示。

图3 实验图像

表1 实验中的计算机配置

Tab.1 Computer configuration in experiment

软件计算机系统LenovoWindows7-Zip(64bit)实验平台软件Matlab硬件计算机型号LenovoG405s中央处理器1.9GHz硬盘容量1T运行内存4.0GB显示分辨率1366.0×768.0

用Matlab生成的效果图如图4 所示,从第一组Lena图像中可以得出,改进的Sobel边缘检测相较于其他两种检测效果更好,可以通过图5 Lena图像边缘检测局部图,清晰地看出没有边缘的断裂以及边缘的漏检。表2给出了对改进算法的客观评价结果,峰值信噪比(PSNR)是一种评价图像质量最为普遍和使用最广泛的客观量测法,其值越大,代表边缘检测效果越好。改进后的算法能较好地提高图像的质量,保留图像的原始信息。第二组pepper图片实验效果图和第三组flower实验效果图验证了该算法的使用具有鲁棒性。

图4 传统算法与改进算法及Matlab自带算法实验效果图

图5 Lena图像边缘检测局部图

表2 图像边缘检测性能评价

由于改进Sobel边缘检测图是由改进的四个模板卷积生成的,只是选取了图像的0°、90°、45°和135°特定的方向,所以有些边缘细节并没有凸显出来。通过图6形态学高低帽变换图(Lena图像和pepper图像)可以清晰地看出,在改进的Sobel边缘检测图像上加上高帽变换的结果再减去低帽变换(加入高低帽变换是对整幅图像进行细节上的变换处理),可在有效提高图像对比度[9]的同时,丰富细节信息,使检测到的图像与原图像边缘信息更加吻合。

图6 形态学高低帽变换图

3 结果与讨论

1)改进后的Sobel算法对图像边缘的检测更加清晰,但是有很多边缘的细节丢失。

2)在改进的Sobel边缘检测图像上加上高帽变换的结果再减去低帽变换,可以有效提高图像的对比度和丰富细节信息,能更好地还原图像的真实边缘。

通过对数字图像的实验,得到的检测效果比较理想。在印刷图像通过扫描设备进行缺陷质量检测过程中,应用此优化后的边缘检测算法,将更便于分析图像的边缘信息。

猜你喜欢

形态学算子边缘
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
一类截断Hankel算子的复对称性
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
前交通动脉瘤形成和大脑前动脉分叉的几何形态学相关性研究
一张图看懂边缘计算
医学微观形态学在教学改革中的应用分析
血细胞形态学观察对常见血液病诊断的意义分析
数学形态学滤波器在转子失衡识别中的应用
在边缘寻找自我