Edge detection
(边缘检测)
目录
目标: 识别图像中的 突然变化(不连续) 的图像
(一)Characterizing edges
(边缘特征)
1.varity of factors
(边缘种类)
(1)表面法线不连续
(2)深度不连续
(3)表面颜色不连续
(4)光照不连续
2.Derivative
(导数)
(1)边缘作为图像中快速变化的点,可以通过求导来提取边缘
导数公式
近似为
(2)该点的导数等于右边的点减自身,可以用卷积来实现这个过程
左图是对x求导,右图是对y求导。
对x求导,可以提取左右差距比较明显的边缘
对y求导,可以提取上下差距比较明显的边缘
(3)其他边缘提取方法
prewitt:采用的是[-1 0 1],并且是左边和右边各取3个像素来判断该点是不是边缘
提取的更准确,对噪声的敏感程度更低
sobel:可以分解成[1 2 1]的转置和[-1 0 1]相乘。
[1 2 1]的转置是一个高斯滤波操作,[-1 0 1]是一个边缘提取操作,即先对图像做了平滑操作再对图像边缘进行提取
对噪声的敏感程度更低一些
**roberts:**衡量的是斜对角的差异值,Mx检测的是135度方向的边,My检测的是45度方向的边。
(二)Gradient
(梯度)
(1)梯度的定义:
(2)梯度指向强度增加最快的方向
梯度方向与边垂直,通过梯度的方向大致可以知道边的方向
(3)梯度大小
梯度值越强,表明该点越有可能是边
(三)Effects of noise
(噪声的影响)
由于噪声的存在,很多点的变化都比较大
这时求导的结果就会很不准确,根本无法准确提取边缘
1.Derivative filters
用高斯偏导滤波器去噪后
两次卷积操作:fg(去噪)和d(fg)/dx(边缘提取)
由于卷积非常耗时间,我们可以采用1次卷积完成边缘提取
高斯偏导模板不可分离
高斯偏导(平滑化的导数)可以去除噪音,但会模糊边缘。
还可以找到不同 "尺度 "的边缘,越大越模糊。
2.Smoothing filters vs. derivative filters
高斯平滑过滤器
目标是平滑,去除 "高频 "成分。
高斯平滑滤波器的值不为负数,总和为1
高斯偏导滤波器
目标是提取边缘信息
高斯偏导滤波器的值会是负数,总和为0,平坦的区域才没有响应值
值越高,跟周围差异越大,可能是边或噪声
高斯的导数
一个导数滤波器的值可以是负数吗?
这些值的总和应该是多少?
- 零:在恒定区域没有反应
e 在高对比度的点上有高的绝对值
(四)The Canny edge detector
(Canny边缘检测器算法)
先求出梯度大小,越小有可能是噪声产生的,设置门限,低于门限的点不认为是边缘而是噪声。
1.Non-maximum suppression
(非最大化抑制)
如果边太宽,采用非最大化抑制。如果该点的值比左右点都大,该点就是边
非最大化抑制后的结果
2.Hysteresis thresholding
存在有些边在过滤噪音的时候也被抹掉了,采用双门限法。先用高门限检测出来肯定是边的点,然后将门限降低,留下与高门限连接的梯度大小比较低的点。
overview
1.什么是边缘
2.为什么要检测边缘
3.如何提取边缘
4.高斯偏导模板
5.canny