Robert 算子和Sobel 算子等一阶微分算子基于寻找梯度强度检测边界,对模版计算结果进行二值化,得到边缘图像。但一阶微分算子受噪声影响,且得到的边缘比较“宽”。
「Canny 算子」是一种广泛使用的边缘检测算法,它旨在找出图像中的边缘,同时尽量减少检测到的「伪边缘」
如果输入是彩色图像,则首先将其转换为灰度图像。
首先用Gaussian 低通滤波器平滑图像,抑制高频噪声,同时保持图像的结构特征
用Sobel 梯度算子计算梯度幅度和方向
对梯度幅值进行非极大值抑制,即沿着梯度方向,比较它前面和后面的梯度值,寻找像素点局部最大值,非极大值值零。这一步骤通过抑制那些不是局部极大值的梯度强度来减少边缘厚度,使得边缘变得更细更清晰
然后用双阈值算法检测