【计算机视觉】02_边缘

边缘介绍

定义

边缘是图像强度函数中变化迅速的地方

  • 3D 视角 来看,边缘在强度函数曲面上看起来像陡峭的悬崖
  • 1D 扫描线 来看,边缘对应于强度函数的一阶导数中的极值

表示形式

基于边缘的图像分割方法建立在边缘像素灰度值会出现阶跃或屋顶型变化的观察现象上。

  • 阶跃型边缘: 强度值突然从一个水平跳到另一个水平(例如黑到白)。
  • 屋顶型边缘: 强度值先平滑上升到峰值,再平滑下降(例如细线)。

边缘检测

A. 图像导数与梯度

要检测数字图像 Fx,yFx, yFx,y 的变化,我们可以采取**离散导数(有限差分)**的方法。

  • 一阶导数(梯度): 边缘对应于一阶导数的极值点 ;梯度指向强度增加最快的方向
  • 二阶导数: 边缘对应于二阶导数的过零点(零交叉点)

图像梯度是图像变化的关键度量:

  • 边缘强度由梯度的大小给出。
  • 梯度方向 可以通过 θ=atan2⁡(gy,gx)\theta = \operatorname{atan2}(g_y, g_x)θ=atan2(gy,gx) 给出。

噪声的影响

噪声让我们无法通过导数来判断边缘在哪里

解决方法

先进行平滑处理

这里的 hhh就是kernel,也就是滤波器,这里是高斯函数(正态分布),代表权重 ,当它滑动过信号时,它在说:"我最相信中间的像素,但旁边的像素我也听一点意见,大家一起取个加权平均值。"

我们要找边缘,但噪声太烦人,所以我们先用高斯函数 把图像罩住磨平一下。第二张图告诉我们,与其分两步走,不如直接做一个自带求导功能的平滑刷子(DoG算子),刷一下就直接出结果。

Canny算子

  1. 降噪(使用高斯滤波)

  2. 计算梯度幅值和方向

    • 做法: 通常使用 Sobel 算子(分别在 x 方向和 y 方向做卷积)。

      • GxG_xGx: 水平方向的变化。

      • GyG_yGy: 垂直方向的变化。

    • 计算两个关键值:

      1. 梯度的强度 (Edge Strength): G=Gx2+Gy2G = \sqrt{G_x^2 + G_y^2}G=Gx2+Gy2 (也就是斜坡有多陡)。

      2. 梯度的方向 (Edge Direction): θ=arctan⁡(Gy/Gx)\theta = \arctan(G_y / G_x)θ=arctan(Gy/Gx) (也就是斜坡朝哪边倾斜)。

  3. 非极大值抑制

    • 直观理解: 想象你在爬一座山脊(边缘)。我们要找的是山脊最高的那条线(山棱)。

    • 规则:

      1. 沿着梯度的方向看(也就是垂直于边缘的方向)。

      2. 如果当前像素的梯度值比它前方后方的像素都要大,那么它就是"山顶",保留它。

      3. 如果它比旁边的小,说明它只是山坡的一部分,不是最高点,把它置为 0(抑制)。

    • 结果: 原本宽宽的边缘,瞬间变成了细细的一条线。

  4. 双阈值与之后边界跟踪

    1. 2个阈值,3种情形
    2. R > T: 强边缘
    3. R < T 但 R > t: 弱边缘
    4. R < t:无边缘

算子性能

Canny 算子的性能取决于几个参数 ,其中一个关键参数是 σ\sigmaσ:高斯模糊的宽度

  • σ\sigmaσ 的选择取决于预期的目标。
  • σ\sigmaσ :检测大尺度边缘。
  • σ\sigmaσ :检测精细边缘

尺度空间 的属性中,随着尺度 (σ\sigmaσ) 的增加:边缘位置可能会移动,两条边可能会合并,但一条边不会一分为二

相关推荐
电商API_1800790524712 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
qizayaoshuap12 小时前
# ❌ 井字棋 — 鸿蒙ArkTS Minimax AI算法与博弈系统设计
人工智能·算法·华为·harmonyos
雪隐12 小时前
个人电脑玩AI-13让5060 Ti给你打工——我用 0.9B 小模型终结了"谁来记会议纪要"这个世纪难题
前端·人工智能·后端
-XWB-12 小时前
【 LLM】Agent Planning 完全指南:8 种纯 LLM 范式 + 8 种混合规划模式详解(一)
人工智能·aigc·学习方法·ai编程
半个落月12 小时前
用 LangChain JS 做可控写作实验:理解温度参数、提示词与异步调用
javascript·人工智能·后端
Anova.YJ13 小时前
AI通用能力(二)
人工智能
m沐沐13 小时前
【深度学习】卷积神经网络 数据增强、保存最优模型实现,详细解读
人工智能·python·深度学习·机器学习·cnn·数据增强
rain_sxr13 小时前
把多步串起来:Agent 前端编排的状态机与进度可视化
人工智能
硅谷秋水13 小时前
PhyGround:生成式世界模型中的物理推理基准测试
人工智能·深度学习·机器学习·计算机视觉·语言模型
深海鱼肝油ya13 小时前
基于FastAPI的AI智能体Web系统构建(二)
人工智能·fastapi·python开发·异步框架·agent开发