使用Python的Canny Edge检测器

当某人对通过轮廓识别物体感兴趣时,边缘检测是一种必不可少的图像分析技术,并且也被认为是从图像中恢复信息的必不可少的步骤。

例如,可以使用边缘检测来提取重要特征,例如直线和曲线,然后通常由更高级别的计算机视觉或图像处理算法使用。 一个好的边缘检测算法将突出显示图像中主要边缘的位置,同时忽略由噪声引起的任何虚假边缘。

但是,边缘到底是什么? 边缘是可用于估计和分析图像中对象结构的图像特征。 它们表示图像强度(即像素值)中发生的重大局部变化。 边缘通常出现在图像中两个不同区域之间的边界上。

在本教程中,我将描述Canny边缘检测器算法,以及如何在Python中实现它。

坎尼边缘检测器

Canny边缘检测器算法以其发明者John F. Canny命名, John F. Canny于1986年发明了该算法。Canny边缘检测器通常以灰度图像作为输入,并生成显示强度不连续位置的图像作为输出(即边缘)。 。

我不想在这里进行数学运算,但是我将从高层的角度描述Canny边缘检测器算法在幕后发生的事情。

Canny边缘检测器要做的第一件事是,它使用高斯卷积来平滑输入图像并消除噪声。 然后将一阶导数算子应用于平滑后的图像,以突出显示具有高一阶空间导数的图像区域。

然后,该算法通过计算x导数和y导数来找到梯度的大小和方向,特别是因为知道梯度的方向实际上使我们能够找到边缘的方向。

然后,该算法执行所谓的非最大抑制 ,即沿着从边缘上升的山脊顶部进行跟踪,并将不在山脊顶部的那些像素设置为零,最终在结果中产生一条细线。

换句话说,我们检查在上一步中计算出的梯度是否被认为是在梯度的正方向和负方向上的相邻点中最大的。 如果梯度最大,则将其视为边缘的一部分,反之亦然。

上面的跟踪过程由两个阈值t1t2 ,以使t1>t2 ,这被称为磁滞阈值 跟踪从山脊上高于t1的点开始,然后在该点之

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值