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 :