常用的图像边缘提取算子有以下几种:
Roberts算子 是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两像素之差近似梯度幅值检测边缘。
Laplacian 算子 是n维欧几里德空间中的一个二阶微分算子。
Canny 算子 的目标是找到一个最优的 边缘检测 算法 ,Canny 使用了 变分法。 先平滑再求导的方法。
第一步:
高斯滤波器进行平滑处理。
高斯滤波用于对图像进行减噪,采用邻域加权平均的方法计算每一个像素点的值。
第二步:
利用一阶差分计算边缘的方向与幅值。
第三步:
非极大值抑制。
对一些梯度值不是最大的点进行抑制,突出真正的边缘。
Sobel 算子 有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。
根据图像边缘提取算子的计算求导阶数,又可以分为:
一阶微分边缘算子
Roberts算子
水平与竖直边缘检测卷积核为:
Sobel 算子
利用周围邻域8个点的灰度值来估计中心的梯度
Sobel算子认为靠近中心像素的点应该给予更高的权重,所以Sobel算子把与中心像素4邻接的像素的权重设置为2或-2。
卷积核为:
二阶微分算子
边缘即是图像的一阶导数局部最大值的地方,那么也意味着该点的二阶导数为零。
Laplacian 算子
二阶微分卷积核为:
两步:1)用上面的Laplace核与图像进行卷积;2)对卷积后的图像,取得那些卷积结果为0的点。
缺点是对噪声十分敏感。
Canny 算子
主要分四步进行:
- 去噪声;
- 计算梯度与方向角;
- 非最大值抑制;
- 滞后阈值化;
其中前两步很简单,先用一个高斯滤波器对图像进行滤波,然后用Sobel水平和竖直检测子与图像卷积,来计算梯度和方向角。