μ2 =[0.7f(i-1,j+1)+f(i,j+1)+0.5f(i,j+2)+0.7f(i+1,j+1)+2f(i,j)]/4.9
μ3 =[0.7f(i+1,j-1)+f(i+1,j)+0.7f(i+1,j+1)+0.5f(i+2,j)+2f(i,j)]/4.9 μ4 =[0.7f(i-1,j-1)+0.5f(i,j-2)+f(i,j-1)+0.7f(i+1,j-1)+2f(i,j)]/4.9 μ5 =[0.35f(i-2,j-2)+0.7f(i-1,j-1)+f(i-1,j)+f(i,j-1)+2f(i,j)]/5.05 μ6 =[0.35f(i-2,j+2)+f(i-1,j)+0.7f(i-1,j+1)+f(i,j+1)+2f(i,j)]/5.05 μ7 =[f(i,j+1)+f(i+1,j)+0.7f(i+1,j+1)+0.35f(i+2,j+2)+2f(i,j)]/5.05 μ8 =[f(i,j-1)+0.7f(i+1,j-1)+f(i+1,j)+0.35f(i+2,j-2)+2f(i,j)]/5.05
即:若dmin =dx,且dmin <=d,则仅计算μx(下标x均为模板序号),令f(i,j)=INT[μx]进行平滑滤波。
(4)修改像素坐标(i,j),继续对下一像素进行处理。 (5)重复步骤(1)至(4),直到对图像中除最左、最右各两列,最上、最下各两行外的所有像素都做了以上处理,直至完毕。
图2-9为加权有向平滑滤波算法流程简图。
图2-9 加权有向平滑算法流程
- 20 -
在本课题的研究中,对图像主要采用的是基于空域的平滑处理,并且分别采用不同的方法对缺陷图像进行滤波比较,如图2-10所示,对三种木材缺陷(节子、虫眼、裂纹)图像分别采用了邻域平均法、中值滤波以及加权有向滤波进行平滑处理的效果的比较。实验表明,加权有向平滑滤波算法在有效去除噪声的同时,还能很好保持图像的边缘及细节,是一种有效的图像平滑处理的算法。
(a)加噪原图 (b)邻域平均法滤波后 (c)中值滤波后 (d)加权有向滤波法滤波后
图2-10 各种滤波方法效果图
2.4 图像锐化
在图像摄取、传输及处理过程中有许多因素会使图像变得模糊。图像模糊是常见的图像降质问题。图像锐化就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。
图像锐化的主要目的:一是增强图像的边缘和细节,使模糊的图像变得清晰起来;二是提取目标物体的边界,便于目标区域的识别等。图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。
- 21 -
2.4.1微分算子
图像处理中常用的微分方法是求梯度。对于连续函数f(x,y),它在点(x,y)处的梯度是一个矢量,定义为
??f???x? G[f(x,y)]= ?? (2.15)
??f????y??点(x,y)梯度的幅度为梯度矢量的模,即
?f2?f21G[f(x,y)]=[()?()]2 (2.16)
?x?y对于数字图像f(x,y),采用差分运算来近似替代微分运算,在其像素点(i,j)处,x
方向和y方向上的一阶差分定义为
?xf(i,j)?f(i,j)?f(i?1,j) (2.17) ?yf(i,j)?f(i,j)?f(i,j?1) (2.18)
为了简便运算,式(2.16)可近似为
G[f(x,y)]=|f(i,j)-f(i+1,j)|+|f(i,j)-f(i,j+1)| (2.19)
以上这种求梯度的方法又称为水平垂直差分法。另外一种求梯度的方法叫做罗伯特梯度法(Robert Gradient),它是一种交叉差分计算法,其数学表达式为
G[f(x,y)]=|f(i,j)-f(i+1,j+1)|+|f(i+1,j)-f(i,j+1)| (2.20) 由梯度的计算可知,在图像灰度变化较大的边缘区域其梯度值较大,在灰度变化平缓的区域其梯度值较小,而在灰度均匀区域其梯度值为零。由此可知,图像经过梯度运算后,只剩下灰度值急剧变化的边缘处的那些像素点。
当梯度计算完之后,如何确定锐化输出的图像是一个需要考虑的问题。根据需要,可以生成不同的梯度增强图像。
第一种方法是直接以梯度值作为锐化输出,即
g(x,y)=G[f(x,y)] (2.21)
这种方法直截了当,简单易行。缺点是增强的图像仅显示灰度变化比较剧烈的边缘轮廓,而灰度变化平缓的区域则呈现黑色,整幅锐化图像会表现出暗的特性,这在有些场合时不适宜的。
第二种获得增强的图像的方法是辅以门限判决。
G[f(x,y)] G[f(x,y)]≥Tg(x,y)= f(x,y) 其他
(2.22)
式中,T是一个非负的门限值。这种方法只有在梯度值超过一定值时才用梯度值替代原像素灰度值。适当选取T值,既可以使明显的边缘轮廓得到增强,又不会破坏原图像中灰度变化平缓的区域。
- 22 -
第三种方法是给边缘规定一个特定的灰度级,即
L G[f(x,y)] ≥TBg(x,y)= f(x,y) 其他
(2.23)
式中,T是一个非负的门限值,LG是根据需要指定的一个灰度级。 第四种方法是给背景规定特定的灰度级,即
G[f(x,y)] G[f(x,y)] ≥T g(x,y)= LG 其他
(2.24)
这种方法将背景用一个特定的灰度级来实现LG,突出了边缘,便于研究边缘
灰度的变化情况。
第五种方法是将背景和边缘用二值图像来表示,即
LG G[f(x,y)] ≥Tg(x,y)= LB 其他
(2.25)
这种方法主要突出了边界的位置,其中LG,LB可以根据需要确定其大小。
2.4.2 Sobel算子
用微分算子方法锐化图像时,图像中的噪声、条纹等同样得到加强,这在图
像处理中会造成伪的边缘和轮廓。Sobel算子则在一定程度上克服了这个问题。
Sobel算子的基本思想是:以待增强图像的任意像素(i,j)为中心,截取一个3×3的像素窗口,如图2-11所示。分别计算窗口中心像素在x,y方向上的梯度。
f(i-1,j-1)f(i-1,j)f(i,j-1)f(i,j-1)f(i,j)f(i,j+1)f(i+1,j-1)f(i+1,j)f(i+1,j+1)
图2-11 Sobel算子图像窗口
Sx=[f(i+1,j-1)+2f(i+1,j)+f(i+1,j+1)]-[f(i-1,j-1)+2f(i-1,j)+f(i-1,j-1)] (2.26)
- 23 -
相关推荐: