亚像素边缘检测思想

核心思想

基于二阶多项式拟合的亚像素边缘检测,原理来源于 Steger’s 方法 (1998, “An unbiased detector of curvilinear structures”)

它的核心流程可以概括为:

  1. 初步边缘检测(像素级别)

    • 用改造过的 Canny(包括高斯滤波、梯度计算、非极大值抑制、双阈值+滞后跟踪),得到像素级的边缘点。
    • 这一步的边缘是整数坐标,存在 “量化误差”,精度只能到 1 像素。
  2. 局部邻域拟合(亚像素建模)

    • 在每个候选边缘点的 3×3 邻域上,计算梯度幅值(dx、dy 的模)。

    • 用这些值拟合一个 二阶多项式曲面

      f(x,y)=a0+a1x+a2y+a3x2+a4xy+a5y2 f(x, y) = a_0 + a_1x + a_2y + a_3x^2 + a_4xy + a_5y^2 f(x,y)=a0+a1x+a2y+a3x2+a4xy+a5y2

      这样,原本离散的像素点灰度/梯度分布被转化为一个平滑的连续函数。

  3. Hessian 矩阵与主方向

    • 通过二阶导数构建 Hessian 矩阵

      H=[fxxfxyfxyfyy] H = \begin{bmatrix} f_{xx} & f_{xy} \\ f_{xy} & f_{yy} \end{bmatrix} H=[fxxfxyfxyfyy]

    • 计算其 特征值和特征向量。主方向对应于梯度变化最大的方向,也就是边缘法线方向。

  4. 沿边缘法线方向的极值搜索

    • 在拟合的函数里,沿法线方向找到极值点。
    • 这一步通过解析解(牛顿法近似推导)得到一个浮点偏移量 (Δx,Δy)(\Delta x, \Delta y)(Δx,Δy)
    • 如果这个偏移量小于 0.5 个像素,就把原始点坐标加上偏移量,从而得到 亚像素精度的边缘位置。
  5. 结果

    • 得到的轮廓点不是整数坐标,而是浮点数 (x+0.3,y−0.2)(x+0.3, y-0.2)(x+0.3,y0.2) 这样的形式。
    • 相比传统 Canny,这种方法能将边缘精度提升到 0.1 像素级别,适合高精度测量(比如工业检测、机器视觉)。

方法原理总结

  1. 先粗定位:Canny 找到整数像素边缘点。
  2. 再细定位:在局部 3×3 区域用二次多项式拟合梯度分布。
  3. 通过 Hessian 特征分解,找到边缘的法线方向
  4. 沿法线方向计算梯度极值点位置,得到小数坐标。

这样实现了 基于二阶曲面拟合的亚像素边缘检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值