•步骤:
- 降低噪声:高斯滤波,以平滑图像并减少噪声的影响。
- 平滑图像计算梯度: 采用Sobel等算子提取梯度,得到图像的梯度幅值和梯度方向。
- 非极大值抑制:沿着梯度方向寻找局部最大值。
- 边缘跟踪: 根据设定的阈值,将梯度幅值分成两个部分:高阈值和低阈值。高阈值被用来确定强边缘,低阈值被用来确定弱边缘。如果某个像素点的梯度幅值超过高阈值,则将其标记为强边缘;如果梯度幅值在低阈值和高阈值之间,则将其标记为弱边缘。
- 边缘连接:在上一步骤中,被标记为强边缘的像素点被认为是最终的边缘点。而被标记为弱边缘的像素点,如果其与强边缘相连,则也被认为是边缘的一部分。通过边缘连接操作,可以将弱边缘与强边缘连接起来,形成完整的边缘。
Canny算法通过以上步骤的组合,可以提取图像中清晰而准确的边缘信息。它具有较好的噪声抑制能力、良好的边缘定位和细化效果。