重庆邮电大学本科毕业设计(论文)
据该零交叉点边缘点。图3-5和3-6分别邻里域名系统和八个居委会拉普拉斯算子的。
图3-5 邻域Laplacian算子
图3-6 邻域Laplacian算子
通常使用的拉普拉斯算子3×3模板如图3-6所示:
-1 -1 -1 -1 0 1 -1 -2 -1 -1 8 -1 -2 4 2 0 0 0 -1 -1 -1 -1 0 1 1 2 1 图3-7 拉普拉斯算子
Laplace算法对噪声敏感,但其缺点也很明显,即边缘在一些图形具有双重作用。因此,使用拉普拉斯算法的图像处理时,经过一定的流畅处理。
1 1 1 1 1 -8 1 1 1 0 1 0 1 0 -4 1 1 0 五、Log边缘算子
这里介绍一种基于二阶导数求到边缘点算法的图像亮度,这种方法对噪声非常敏感,因此,可以在之前是边缘增强去噪。对于这一点,并设计了一种人类视觉方法的局部特性,该方法是使用高斯操作者对滤波操作,使用拉普拉斯边缘检测,即所谓的算法。该算法的主要思路和步骤如下:
(1)滤波:就是对图像f(x,y)做平滑滤波,选取对应的滤波函数为高斯函数,即:
- 21 -
重庆邮电大学本科毕业设计(论文)
G(x,y)?1?22?exp?(x?y)? ?22??22????1(3.3)
其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过?来控制的。将图像G(x,y)与f(x,y)进行卷积,可以得到一个平滑的图像,即:
g(x,y)?f(x,y)*G(x,y)
(3.4)
(2)增强:对平滑图像g(x,y)进行拉普拉斯运算,即:
h(x,y)??2?f(x,y)*G(x,y)?
(3.5)
(3)检测:该准则由第二衍生物的图像获得的是零点(点),通过取点的第一导数。
这种方法是用高斯卷积滤波器的第一图像,从而平滑图像,减少了噪声,噪声隔离,滤波,和更小的结构。但由于图像的扩大边缘平滑,所以与局部梯度边沿检测器将仅考虑那些最大值点。这可以通过使用过零的二阶导数来实现。二阶导数近似的二维拉普拉斯函数,因为它是一种操作者。在实践中,为了防止边缘检测不明显,应该选择第一导数大于零点作为边缘点的阈值大。由于对平滑图像进行拉普拉斯运算可等效为g(x,y)的拉普拉斯运算与G(x,y)的卷积,故上式变为:
h(x,y)?f(x,y)*?2G(x,y) (3.6)
式中 称为LOG滤波器,其为:
?2G?2G1?x2?y2??122??G(x,y)????1exp?x?y?????? (3.7) 2?x2?y2??4?2?22????2这样就有两种方法求图像边缘:
①对图像和高斯滤波器做卷积运算,再对产生的信号做拉普拉斯变换,最后做过零判断。
②先对高斯滤波器做拉普拉斯变换,再与图像做卷积运算,接着做过零判断。
拉普拉斯算子对图像中的噪声非常敏感。它经常被用于制造双像素边缘,也不提供边缘方向信息。以其他算子相比,Gauss-Laplace边缘检测算子更好,
5?5模板的高斯--拉普拉斯算子如下图所示:
0 0 -1 0 - 22 -
重庆邮电大学本科毕业设计(论文)
-2 -4 -4 -4 -2 -4 -4 -2 0 8 0 8 2 8 -4 -4 -4 0 -1 0 0 -1 -2 -1 0 -2 16 -2 -1 0 -1 0 0 -4 -4 -2
图3-8 高斯-拉普拉斯算子
高斯-拉普拉斯算子在边缘检测过程中达到了很高的精度,其原理是它将高斯算法和拉普拉斯算法结合起来,对图像进行滤波,不仅可以消除噪声,还能进行边缘检测。
六、Canny边缘算子
边缘检测的基本思想一步是发现在图像有一个局部最大值梯度像素。图像的边缘检测必须满足两个条件:第一,我们必须有效地抑制噪声,其次,尽可能精确的边缘位置。改进边缘检测对边缘的敏感性,也增强了对噪声的敏感性。Canny算子是一种性能很高边缘检测算子,它广泛用于许多图像处理领域。从本质上讲,它不仅仅是简单的梯度计算来确定一个像素是否边缘点,在决定是否一个像素是当前边缘点,需要考虑其他像素的影响,这不是一个简单的边界跟踪,寻找边缘点,根据当前像素和像素来确定[19]。它把边缘检测的问题转换为检测函数极大值的问题。其基本思想是:先对处理的图像选择一定的Gauss滤波器进行平滑滤波,然后采用一种称之为“非最大值抑
制”(Non-maxSuppression)的技术,对平滑后的图像处理后,得到最后的边缘图像。下面给出判断边缘检测算子优劣的三个标准:
(1)信噪比准则
在保证不漏检又不误检的情况下,尽可能使输出的信噪比最大。信噪比值越小,提取的边缘效果越低;
(2)定位精度准则
为了得到高精确度的图像,需要检找到边缘点与实际边缘最近的位置; (3)单边缘响应准则
应对每个边缘点是独一无二的。每个真正的边缘对应于边缘点检测和一个接一个,得到一个像素的边缘宽度。基于上述准则,导出了使用功能推导方法的边缘定位精度和信噪比的产品组成一个表达式,该表达式类似于高斯函数的
- 23 -
重庆邮电大学本科毕业设计(论文)
导数,这是这个函数的最佳逼近。Canny算子的算法分为5个步骤:图像滤波、计算图像的梯度、抑制非最大点、搜寻边界的起点、跟踪边界。
1. Canny边缘检测基本原理:
Canny算子实际上是一种滤波器,其既有消除噪音的功能,还有边缘检测的能力。其原理是运用高斯函数在某一方向上的一阶导数作为滤波器来去除噪音,接下来在滤波后的图像中分析图像的梯度,用以确定图像梯度的最大值。
2. Canny边缘检测算法:
step1:处理平滑的图象-高斯滤波器; step2:计算梯度的幅值和方向; step3:抑制梯度幅值的非极大值; step4:连接边缘-双阈值算法。 其数学描述如下: step1:
二维为高斯函数为:
??x2?y2??? G(x,y)?exp??22??2??2???1(3.8)
在某一方向n上是G(x,y)的一阶方向导数为: ?GGn??n?G
?n
(3.9) (3.10)
?cos?? n????sin????G???x?? ?G????G???y??? (3.11)
式中:n式方向矢量,▽G是梯度矢量。
将图像f(x,y)与Gn作卷积,同时改变n的方向,Gn*f(x,y)取得最大值时的n就是正交于检测边缘的方向。
step2:
EX??G*f(x,y) ?x(3.12)
EY??G*f(x,y) ?y(3.13)
- 24 -
重庆邮电大学本科毕业设计(论文)
A(x,y)?EX2?EY2
(3.14) (3.15)
??Arctan??EX?EY?? ?反映了图像(x,y)点处的边缘强度,是图像在(x,y)点处的法向量。 step3:
梯度是不足以确定唯一的边缘,所以要保证边缘,你必须保持局部梯度最大点,而不是抑制。(non-MaxiMa suppression,NMS)
解决方法:利用梯度的方向。
3-9 非极大值抑制
四个区域的编号分别是0到3,对应3?3邻域的四种可能的组合方式。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值比沿梯度线的两个相邻像素梯度值小,则令M?0。
step4:
降低边缘段数量的基本方式是在G(x,y)上运用一个上下限。将超出范围的所有值都取上下限。
解决方法:采用基于双阈值的方法对边缘进行连接。
①首先是边缘判别:如果边缘强度大于上限,则记为边缘点;如果边缘强度小于下限,则不是边缘点;如果边缘强度介于下限和上限之间,则依据与该像素相邻的像素点来判别是否为边缘点。
②其次是连接边缘:采用双阈值算法对非极大值的图像进行削减。两个阈值?1和?2,且2?1??2,从而可以得到两个阈值边缘图像G1(x,y)和G2(x,y)。由于G2(x,y)使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在G2(x,y)中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在G1(x,y)的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在
G1(x,y)中收集边缘,直到将G1(x,y)连接起来为止。
事实上,还有很多边缘点检测的方式,例如:将边缘的梯度分为四部分:水平、竖直、45度方向、135度方向。比较不同的相邻像素的四面八方,为了确定局部最大值。如果一个像素灰度值而不是两个梯度方向像素灰度值相比并不是最大的,那么像素复位为零,也就是说,不是在边缘。
- 25 -