Canny边缘检测算法(python 实现)

本文介绍了使用高斯滤波平滑图像以去除噪声,然后通过计算梯度强度和方向寻找边缘,应用非最大抑制技术增强边界清晰度。文章详细解释了双阈值方法和滞后技术在边缘检测中的作用,以及Canny函数在边缘检测中的应用。
摘要由CSDN通过智能技术生成

1. 应用高斯滤波来平滑(模糊)图像,目的是去除噪声

2. 计算梯度强度和方向,寻找边缘,即灰度强度变化最强的位置

3应用非最大抑制技术NMS来消除边误检模糊(blurred)的边界变得清晰(sharp)。保留了每个像素点上梯度强度的极大值,而删掉其他的值。对于每个像素点,进行如下操作:

4应用双阈值的方法来决定可能的(潜在的)边界。(去除噪点)

设定一个阈值上界maxVal和阈值下界minVal,图像中的像素点如果大于阈值上界则认为必然是边界(称为强边界,strong edge),小于阈值下界则认为必然不是边界,两者之间的则认为是候选项(称为弱边界,weak edge),需进行进一步处理——如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。

5. 利用滞后技术来跟踪边界。和强边界相连的弱边界认为是边界,其他的弱边界则被抑制。
由真实边缘引起的弱边缘像素将连接到强边缘像素,而噪声响应未连接。为了跟踪边缘连接,通过查看弱边缘像素及其8个邻域像素,只要其中一个为强边缘像素,则该弱边缘点就可以保留为真实的边缘。

edge = cv2.Canny(image, threshold1, threshold2
                [, edges[, apertureSize[, L2gradient ]]])
方括号表示参数是可选的,你可以选择性地提供该参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值