【CV】Canny_边缘检测

【一】介绍
  • Canny Detector 是一种针对快速实时边缘检测而优化的多阶段算法
  • 该算法的基本目标是检测亮度(大梯度)的急剧变化,例如从白色到黑色的转换
  • 在给定一组阈值的情况下将它们定义为边缘

 

【二】四个阶段

 

  • 【1】降噪
  • 与所有边缘检测算法一样,噪声是一个至关重要的问题,通常会导致错误检测
  • 应用 5x5 高斯滤波器 对图像进行卷积(平滑)以降低检测器对噪声的敏感度
  • 通过使用 正态分布 数字的 高斯核(在这种情况下,5x5)在整个图像上卷积完成,将每个像素值设置为等于其相邻像素的 加权平均值
  • 图示(5x5 高斯核,* 表示卷积运算)

 

  • 【2】求梯度
  • 沿着 x 轴和 y 轴使用 Sobel,Roberts 或 Prewitt 算子(Sobel 在 OpenCV 中使用)来检测边缘是水平的,垂直的还是对角线的
  • 图示,用于计算水平和垂直方向的一阶导数的 Sobel 核

 

  • 【3】非极大值抑制
  • 非极大值抑制应用于时的边界变 “细” 并锐化边缘
  • 对于每个像素,如果它是先前计算的梯度方向上的局部最大值,则保留该值
  • 如图所示
  • A位于边缘,由于 梯度垂直于边缘方向,因此将 B 和 C 的像素值与 A 的像素值进行比较,以确定 A 是否是局部最大值
  • 如果 A 是局部最大值,则保留, 否则, A 的像素值被设置为 0 并且 A 被抑制

 

  • 【4】滞后阈值
  • 在非极大值抑制滞后,确认强像素位于边缘的最终图中
  • 但是,应进一步分析弱像素以确定其是否构成边缘或噪声
  • 用两个预定义的 minValmaxVal 阈值,我们设置任何强度梯度高于 maxVal 的像素都是边缘,任何强度梯度低于 minVal 的像素都不是边缘并被丢弃
  • 在 minVal 和 maxVal 之间具有强度梯度的像素,仅当它们连接到具有 高于 maxVal 的强度梯度的像素才被认为是边缘
  • 解释:边缘 A 高于 maxVal,因此被视为边缘;边缘 B 位于 maxVal 和 minVal 之间,但未连接到 maxVal 上方的任何边缘,因此被丢弃;边缘 C 位于 maxVal 和 minVal 之间,并连接到边缘 A, 即 maxVal 上方的边缘,因此被视为边缘
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cv2.Canny算子是OpenCV库中提供的一种边缘检测算法。它的原理是通过以下几个步骤来实现边缘检测:首先,将图像转换为灰度图像;然后,应用高斯滤波来去除图像中的噪声;接下来,计算图像的梯度和方向;然后,使用非极大值抑制来提取图像中的细线条;最后,使用双阈值跟踪来确定边界。具体的代码实现可以参考引用\[1\]中的示例代码。Canny算子是一种相对较完善的边缘检测算法,常用于图像处理领域。它在MATLAB和OpenCV等常用图像处理工具中都有内置的API。引用\[2\]中提到了Canny算子是目前理论上相对最完善的一种边缘检测算法。引用\[3\]中也提到了Canny算子是边缘检测算法中最常见的一种实现方式。 #### 引用[.reference_title] - *1* *3* [python实现Canny算子边缘检测算法](https://blog.csdn.net/feinifi/article/details/131019696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [canny算子_Canny边缘检测算法](https://blog.csdn.net/weixin_39761195/article/details/110405483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值