opencv Canny函数

Canny边缘检测算法首先通过高斯平滑去除噪声,然后寻找图像强度梯度并进行非极大抑制,使边界变得清晰。接着使用双阈值技术筛选边界,最后通过滞后边界跟踪确定最终边缘。OpenCV库提供了实现这一算法的函数,接受原图像、两个阈值作为参数。
摘要由CSDN通过智能技术生成

Canny

原理

  1. 先经过高斯平滑,目的是去噪声

  2. 寻找图像强度梯度

  3. 非极大抑制

    • 这一步的目的是将模糊(blurred)的边界变得清晰(sharp)。通俗的讲,就是保留了每个像素点上梯度强度的极大值,而删掉其他的值。对于每个像素点,进行如下操作:

      • 将其梯度方向近似为以下值中的一个(0,45,90,135,180,225,270,315)(即上下左右和45度方向)

      • 比较该像素点,和其梯度方向正负方向的像素点的梯度强度

      • 如果该像素点梯度强度最大则保留,否则抑制(删除,即置为0)

      • img

  4. 双阈值

    • 经过非极大抑制后图像中仍然有很多噪声点。Canny算法中应用了一种叫双阈值的技术。即设定一个阈值上界和阈值下界(opencv中通常由人为指定的),图像中的像素点如果大于阈值上界则认为必然是边界(称为强边界,strong edge),小于阈值下界则认为必然不是边界,两者之间的则认为是候选项(称为弱边界,weak edge),需进行进一步处理。经过双阈值处理的图像如下图所示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值