边缘模型
- 一阶导数的幅值可用于检测图像中的某个点处是否存在一个边缘。
- 二阶导数的符号可用来确定一个边缘像素位于该边缘的暗侧或亮侧。
- 二阶导数的零交叉点可用于定位粗边缘的中心。
- 导数对噪声很敏感。
- 越高阶导数对噪声越敏感。
边缘检测三个基本步骤:
- 降噪平滑。
- 边缘点检测。
- 边缘定位。
基本边缘检测
用梯度来寻找边缘强度和方向。
某点的边缘与其梯度向量正交。
梯度向量也称为边缘法线。
梯度算子
图像的灰度标定在【0,1】
Marr-Hiderth边缘检测器
证明了:
- 灰度变化与图像尺寸无关,因此他们检测要求使用不同尺寸的算子。
- 灰度的突然变化会在一阶导数中引起波峰或波谷,或在二阶导数中等效地引起零交叉。
大的算子可用于检测模糊边缘,小的算子可用来检测细节。
最符合条件的为LoG
算法步骤
- 高斯低通滤波。
- 求滤波后的拉普拉斯。
- 找零交叉。
一个大小为nxn的LoG离桑滤波器,其n值应是大于等于的最小奇整数。n小于该值滤波器会截断LoG函数。
求零交叉点:至少有两个相对的领域像素符号不同。且数值差必须超过一个阈值。
可用两个一维卷积代替二维卷积。
Canny
- 用一个高斯滤波器平滑输入图像。
- 计算梯度幅值和角度图像。
- 对梯度幅值图像应用非最大抑制。
- 寻找最解决()
- 如果M(X,Y)的值小于沿的两个邻居之一,则;
- 用双阈值处理和连接分析来检测并连接边缘。
- 边缘细化。