Canny边缘检测算法

借鉴:知乎

Canny算子目标是找到一个最优的边缘,其最优边缘定义:

  • 好的检测:算法能够尽可能多的标识出图像的实际边缘
  • 好的定位:标识出的边缘要与实际图像中的实际边缘尽可能接近
  • 最小响应:图像中的边缘只能标识一次,并且可能存在的图像噪声不应该标识为边缘

具体步骤:
(1)高斯滤波

高斯滤波是目前最为流行的去噪滤波算法,其原理为根据待滤波的像素点及其领域点的灰度值按照高斯公式生成的参数规则进行加权平均,这样可以有效滤去理想图像中叠加的高频噪声。

其实高斯滤波器很像一个金字塔结构,其滤波器的值大小可以理解为权重,值越大对应的像素点权重越大,分量也就越大,因此从高斯滤波器可以看出对应当前像素点,距离越远权重越小,对灰度值的贡献也就越小。
(2)计算梯度图像和角度图像

计算梯度图像就是用各种边缘检测算子进行梯度的检测,Canny是使用高斯滤波器进行梯度计算 得到的滤波器,得到的也类似于Sobel算子,及距离中心点越近的像素点权重越大。
(3)对梯度图像进行非极大值抑制

从上一步得到的梯度图像存在边缘粗宽、弱边缘干扰等众多问题,可以通过非极大值抑制来寻找像素点局部最大值,将非极大值所对应的灰度值置0,这样可以剔除一大部分非边缘的像素点。
(4)使用双阈值进行边缘连接

经过以上三步得到的边缘质量已经很高,但还是存在很多伪边缘,因此Canny算法中所采用的算法是双阈值法,具体思路为选取两个阈值,将小于低阈值的点认为是假边缘置0,将大于高阈值的点认为是强边缘置1,介于中间的像素点需进一步的检查。

相关推荐
sali-tec3 分钟前
C# 基于halcon的视觉工作流-章62 点云采样
开发语言·图像处理·人工智能·算法·计算机视觉
EAIReport7 分钟前
通过数据分析自动化产品实现AI生成PPT的完整流程
人工智能·数据分析·自动化
fashion 道格14 分钟前
用 C 语言玩转归并排序:递归实现的深度解析
数据结构·算法·排序算法
swanwei18 分钟前
量子科技对核心产业的颠覆性影响及落地时间表(全文2500字)
大数据·网络·人工智能·程序人生·量子计算
AKAMAI36 分钟前
从 Cloudflare 服务中断,看建立多维度风险应对机制的必要
人工智能·云原生·云计算
道可云1 小时前
道可云人工智能每日资讯|2025青岛虚拟现实创新大会即将举行
人工智能·vr
酷雷曼VR全景1 小时前
身边的变化丨从“尝鲜”到“刚需”,VR全景让生活“立体化”
人工智能·生活·vr·vr全景·酷雷曼·合作商
m0_650108241 小时前
Flamingo:打破模态壁垒的少样本视觉语言模型
论文阅读·人工智能·视觉语言模型·deepmind·vlm·通用智能·通用小样本适配
gorgeous(๑>؂<๑)1 小时前
【ICLR26匿名投稿】Context-Aware ViT:让目标检测真正“看清上下文”的增强策略
人工智能·目标检测·机器学习·计算机视觉·目标跟踪
AI大模型学徒1 小时前
NLP基础(七)_文本分析与关键词提取
人工智能·自然语言处理