Canny 检测算法包含下面几个阶段:
1.图像灰度化
2.高斯模糊处理
3.图像梯度、梯度幅值、梯度方向计算
4.NMS(非极大值抑制)
5.双阈值的边界选取
1、图像灰度化
当仅提取一张图片的边界,单通道的图片已经足够提供检测出边界的信息。所以我们可以将R、G、B的3通道图片乃至更高维的高光谱遥感图像进行灰度化,这是一种降维操作,它减少了冗余数据从而降低了计算开销。以下是对RGB图片灰度化的方法:
def gray( img_path):
计算公式:
Gray(i,j) = [R(i,j) + G(i,j) + B(i,j)] / 3
or :
1