一阶导数算子
1, Roberts算子:对具有陡峭的低噪声
的图像处理效果较好。形式如下:
[100−1]
[
1
0
0
−
1
]
或者
[0−110]
[
0
1
−
1
0
]
2,Sobel算子:对灰度渐变和噪声较多的图像处理效果比较好,对边缘定位比较准确。形式如下:
⎡⎣⎢−101−202−101⎤⎦⎥
[
−
1
−
2
−
1
0
0
0
1
2
1
]
或者
⎡⎣⎢−1−2−1000121⎤⎦⎥
[
−
1
0
1
−
2
0
2
−
1
0
1
]
3,Prewitt算子:对灰度渐变和噪声较多的图像处理效果比较好。形式如下:
⎡⎣⎢10−110−110−1⎤⎦⎥
[
1
1
1
0
0
0
−
1
−
1
−
1
]
或者
⎡⎣⎢−1−1−1000111⎤⎦⎥
[
−
1
0
1
−
1
0
1
−
1
0
1
]
二阶微分算子:
4,Laplacian算子:这个检测方法对图像中的噪声相当敏感,不能检测边缘的方向,所以很少直接使用拉普拉斯算子进行边缘检测。形式如下:
⎡⎣⎢0101−41010⎤⎦⎥
[
0
1
0
1
−
4
1
0
1
0
]
或者
⎡⎣⎢1111−81111⎤⎦⎥
[
1
1
1
1
−
8
1
1
1
1
]
5,Log/Marr算子:LOG算子是对Laplacian算子的改进,对噪声比较敏感。形式如下:
6,Canny算子: 最有效的边缘检测方法。不容易受到噪声干扰,能够检测到真正的弱边缘。处理过程如下:
彩色图像转换为灰度图像 -》 对图像进行高斯模糊 计算图像梯度,根据梯度计算图像边缘幅值与角度 -》非最大信号压制处理(边缘细化) -》 双阈值边缘连接处理 -》 二值化图像输出结果。
其他的:
方向算子Kirsch(8个3*3模板),Nevitia (12个5*5模板)
这两个算子是利用多个方向的子模板进行分别计算,最后取幅值最大的那个为最终边缘幅值,方向即最大幅值对应的那个方向