avatar

目录
Canny边缘检测
Code
title: Canny边缘检测-论鸡尾酒疗法
tags:
-数字图像处理
categories: cv
cover: /img/ML.png
katex: true

Canny 边缘检测算法被很多人认为是边缘检测的最优算法,为什么说它是最优算法呢?我们参考一下业界的评判标准:

  • 低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报。
  • 高定位性: 标识出的边缘要与图像中的实际边缘尽可能接近。
  • 最小响应: 图像中的边缘只能标识一次。

那么问题来了,我们都已经介绍过Sobel、Laplace这种一阶或二阶的算子了,Canny算子又是什么?它又是凭什么获得最优这个称号的?

什么是Canny边缘检测?

Canny 边缘检测算法其实就是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,用Canny的名字命名,用来检测图像边缘的一种算法。

它为什么这么厉害?

Canny一定是调酒大师,简单的素材在他手里组合一下就焕发了新的活力。简单的回答是,Canny合理的运用了滤波、一阶、二阶边缘检测、边缘细化以及关键的提出了“双阈值边缘连接处理”,把这些基础简单的算法组合一下,达到了最优的效果。可以参考下面的顺序:

  1. 彩色图像转换为灰度图像
  2. 对图像进行高斯模糊
  3. 计算图像梯度,根据梯度计算图像边缘幅值与角度
  4. 非最大信号压制处理(边缘细化)
  5. 双阈值边缘连接处理
  6. 二值化图像输出结果

彩色图像转换为灰度图像

这个不用过多解释了把,cvtColor。因为Canny只能处理灰度图像,而且转换的最终结果是二值图。所以如果是彩色图,转换后才能灰度图还是很有必要的

对图像进行高斯模糊

在Canny内部,已经做了一个size=5的高斯滤波,可以参考如下内核算子。但是需要注意的是,在做Canny之前是否要再做一次高斯滤波是非常值得考究的事情。

6

计算图像梯度,根据梯度计算图像边缘幅值与角度

最大信号压制处理(边缘细化)

双阈值边缘连接处理

二值化图像输出结果

参考https://blog.csdn.net/weixin_40647819/article/details/91411424

https://zhuanlan.zhihu.com/p/79896426

文章作者: Eckle
文章链接: https://wowli-up.github.io/2020/02/13/Canny%E8%BE%B9%E7%BC%98%E6%A3%80%E6%B5%8B/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Eckle的个人网站
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论