前言
OpenCV 中的 Canny 边缘检测
• 了解 Canny 边缘检测的概念
• 学习函数 cv2.Canny()
一、原理
Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在1986 年提出的。它是一个有很多步构成的算法,我们接下来会逐步介绍。
1.噪声去除
由于边缘检测很容易受到噪声影响,所以第一步是使用 5x5 的高斯滤波器去除噪声,这个前面我们已经学过了。
2.计算图像梯度
对平滑后的图像使用 Sobel 算子计算水平方向和竖直方向的一阶导数(图像梯度)(Gx 和 Gy)。根据得到的这两幅梯度图(Gx 和 Gy)找到边界的梯度和方向,公式如下:

梯度的方向一般总是与边界垂直。梯度方向被归为四类:垂直,水平,和两个对角线。
3.非极大值抑制
在获得梯度的方向和大小之后,应该对整幅图像做一个扫描,去除那些非边界上的点。对每一个像素进行检查,看这个点的梯度是不是周围具有相同梯度方向的点中最大的。如下图所示:

最低0.47元/天 解锁文章
1184

被折叠的 条评论
为什么被折叠?



