Canny边缘算法
边缘检测的核心思想就是因为一幅图像的边缘往往是灰度值剧烈变化的地方,通过确定这些地方来确定边缘。
第一步:去噪
理所当然的,除了边缘会产生灰度值剧变,出现噪声的地方同样会发生灰度值剧烈变化。我们往往采用高斯滤波来处理噪声,使得图像更平滑。
第二步:求导求梯度
通过求导来表示灰度值的变化程度,应该是一个很理所当然的想法。因为图像中的坐标是离散的,所以对于图像的求导是通过求差分。求导的选择有很多,例如经典的Sobel,Laplacian。
我们仅仅使用Sobel,Laplacian一样能够检测出边缘,各有优缺点。需要根据各自的特点来选择。
Sobel之后的边缘会变粗,或者说边缘扩大了一圈
![sobel.png](https://i.loli.net/2020/05/16/SwzQbY6JdHFrIWB.png)
而Laplacian因为是一个二阶导数算子,在边缘处会产生双边缘响应。
![双边缘响应.png](https://i.loli.net/2020/05/16/gCoa4PQ6zYNhBXc.png)
上面