图像边缘检测方法研究综述
机器视觉主要是利用计算机实现人类的视觉功能对客观世界的三维场景的感知、识别和理解。边缘是图像的最基本特征边缘检测通常是机器视觉系统处理图像的第一个阶段是机器视觉领域内经典的研究课题之一其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解
像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,即图像中灰度变化比较剧烈的地方。因此我们把边缘定义为图像中灰度发生急剧变化的区域边界。根据灰度变化的剧烈程度通常将边缘划分为阶跃状和屋顶状两种类型
阶跃边缘两边的灰度值变化明显,而屋顶边缘位于灰度值增加与减少的交界处。那么对阶跃边缘和屋顶边缘分别求取一阶、二阶导数就可以表示边缘点的变化。因此对于一个阶跃边缘点其灰度变化曲线的一阶导数在该点达到极大值二阶导数在该点与零交叉
对于一个屋顶边缘点其灰变化曲线的一阶导数在该点与零交叉;二阶导数在该点达到极大值
边缘检测步骤及要求
步骤
- 第一步:图像滤波
缘检测算法主要是基于图像亮度的一阶和二阶导数但是导数的计算对噪声很敏感因此必须使用滤波器来改善与噪声有关的边缘检测器的性能
- 第二步:图形增加
强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域强度值有显著变化的点突出显示
- 第三步:图像检测
在图像中有许多点的梯度幅值比较大而这些点在特定的应用领域中并不都是边缘应该用某些方法来确定那些是边缘点。最简单的边缘检测判据是梯度幅值阈值判据
- 第四步:图像定位
如果某一应用场合要求确定边缘位置则边缘的位置可以在子像素分辨率上来估计边缘的方位也可以被估计出来
要求
- 首先能够正确的检测出有效的边缘
- 边缘定位的精度要高
- 检测的响应最好是单像素的
- 对于不同尺度的边缘都能有较好的响应并尽量减少漏检
- 对噪声应该不敏感
- 检测的灵敏度受边缘方向影响应该小
上述要求往往都是矛盾的,很难在一个边缘检测器中得到完全的统一,半段边缘检测器性能的方法是先看边缘图像,在评价器性能,边缘检测器的相应中主要有三种误差
- 丢失的有效边缘
- 边缘定位误差
- 噪声误判断为边缘
传统边缘检测算子
边缘检测的实质是采用某种算法来提取出图像中的对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映因此我们可以利用局部图像微分技术获得边缘检测算子。经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子
- 基于灰度直方图的边缘检测是一种最常用的、最简单的边缘检测方法,对检测图像中目标边缘效果很好,图像在暗区的像素较多,而汽提塔像素的灰度分布比较平坦,为了检测出图像物体的边缘,把直方图用门限T分割为两个部分,然后对图像进行下述操作
- 扫描图像fx,y的每一行,将所扫描的行中的每一个像素点的灰度与T进行比较后得到g1x,y
- 扫描图像fx,y的每一列,将所扫描的列中的每一个像素点的灰度与T进行比较后得到g2x,y
- 将g1x,y和g2x,y合并,即得到物体的边界图像gx,y
- 基于梯度的边缘检测梯队对应一节导数,梯度算子就是一阶导数算子,在边缘灰度值过渡比较尖锐,且在图像噪声比较小时,梯度算子工作的效果最好,而且对施加的运算方向不予考虑,对于一个连续图像函数fx,y其梯度可以表示为一个矢量,常见的有Roberts边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Robinson边缘检测算子、Laplacan边缘检测算子
canny边缘检测算子
基本思想是先将图像使用高斯函数Gauss进行平滑,再有一阶微分的极大值确定边缘点,二阶微分的零交叉点不仅对应着一阶导数的极大值,而且对应着一阶导数的极小值,换句话说,图像中灰度剧烈变化的点与变化缓慢的点都对应着二阶导数的零交叉点,因此canny算子可能会引入伪边缘点
对图像fx,y进行高斯函数滤波后得到fx,y∗Gαx,y其中α为相应的尺度因子
Mallat小波边缘检测算子
属于多尺度边缘检测