数字图像处理学习总结 联系客服

发布时间 : 星期四 文章数字图像处理学习总结更新完毕开始阅读

Gauss-Lanlancian算子

Laplacian 算子是二阶导数边缘算子,考察的是3*3邻域,上图是两种比较常用的模板,算法简述如下: 1),遍历图像(除去边缘,防止越界),对每个像素做Laplancian模板卷积运算,注意是只做其中的一种模板运算,并不是两个。 2),复制到目标图像,结束。

Gauss-Laplacian考察的是5*5的邻域,检测的同时,引入了滤波,是噪声得以平滑,上图是一种常用的算子,算法简述。 1),遍历图像(除去边缘,防止越界),对每个像素做Gauss -Laplancian模板卷积运算。 1),复制到目标图像,结束。

Canny边缘检测是非常重要的一种边缘检测算法,主要过程如下: 1),用高斯滤波器平滑图像。

已经学习过,根据高斯函数,构造高斯模板,进行滤波,不在赘述。 2),用一阶偏导的有限差分来计算梯度的幅值和方向; 计算梯度作用模板,遍历像素,进行模板运算即可。 12

幅值和方向:

?1m,n?fm,n?H1m,n

?2m,n?fm,n?H2m,n 22?m,n??m,n??m,n 12

?1?2m,n ??m,n?tan ?1m,n

H??1?111 H?1?11?1????????????????????????其中,Phi 表示是幅值,Theta 是方向,用图像副本进行保存。 3),对梯度幅值进行非极大值抑制;

为确定边缘,必须保留局部梯度最大的点,而抑制非极大值(NMS)。

解决办法是,利用梯度的方向:

已经求出Theta 的值,梯度的方向用于非极大值的抑制,将梯度角离散化到0,1,2,3中的一个(通过线性映射),采用近似的算法。知道了梯度角,也就知道了梯度线方向。

邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0。 4),用双阈值算法检测和连接边缘。

减少假边缘段数量的典型方法是对N[i,j]使用一个阈值。将低于阈值的所有值赋零值。但问题是如何选取阈值? 解决方法:

双阈值算法。双阈值算法对非极大值抑制图象作用两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图象N1[i,j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止。