当前位置: 首页 > news >正文

halcon 里面 亚像素精度是如何实现?

一、HALCON为什么能做到亚像素?

HALCON主要思想:

灰度函数 I(x) ↓ 数学模型 ↓ 拟合 ↓ 极值 ↓ 亚像素位置

即:

不是找像素 而是找函数。

二、实现方式

算法数学模型精度速度典型 Halcon 算子适用特征
法线 + 二次多项式拟合梯度抛物线拟合 + 向量投影edges_sub_pix、contour_sub_pix阶跃边缘、工件轮廓
二维灰度重心加权坐标平均中高极快measure_profile_sheet_of_light、measure_pos激光线、亮斑、线条
二维高斯拟合二维高斯曲面最小二乘极高高精度 Blob / 激光扩展算子超细激光、微小圆点

1、二维阶跃边缘亚像素(二次多项式拟合,重点)

二维阶跃边缘:局部可近似为直线边缘,定义两个正交方向:

  • n:边缘单位法向量(灰度变化最快的方向,梯度方向);
  • t:边缘单位切向量(沿边缘走向,灰度基本不变)。
  • 边缘定位本质:只关心法线方向的灰度变化,切线方向可忽略

步骤 1:二维梯度求解(求法线方向)

步骤 2:沿法线提取一维亚像素剖面

步骤 3:一维亚像素偏移量手推(二次多项式梯度拟合)

步骤 4:偏移量映射回二维浮点坐标(核心二维推导)

2、二维灰度重心法(亮线 / 激光线 / 光斑,工程高频)

针对激光线、焊点亮斑、刻度线这类「灰度单峰特征」,Halcon 激光标定measure_profile_sheet_of_light、卡尺measure_pos(..., 'center_of_gravity')均使用二维灰度重心,计算简单、速度快、鲁棒性强。

灰度重心法-CSDN博客

3、二维高斯拟合

针对超细激光、微小圆点等对精度要求极致的场景,Halcon 高阶算子使用二维高斯函数拟合

二维高斯模型

求解思路

  1. 对公式取对数,转化为线性方程组;
  2. 用窗口内多组像素灰度,最小二乘拟合全部参数;
  3. 直接输出 \((\mu_r,\mu_c)\) 作为亚像素坐标。

4.3 特点

  • 精度最高,抗高斯噪声能力强;
  • 计算量大,仅用于高精度检测场景;
  • 常与重心法组合用于激光线二次精定位。

三、halcon 中的亚像素

HALCON真正使用的方法

HALCON官方不是简单二次拟合。

而是:

第一步:Gaussian滤波

Gaussian导数

第二步:二维梯度

边缘是什么?

二维里面:不是一个数。而是:梯度

因此:

图像 ↓ Gaussian ↓ Gaussian一阶导 ↓ 梯度 ↓ 梯度峰值 ↓ 亚像素

分别求:

X方向和Y方向的导数

Gaussian导数

梯度向量

例如

某个像素:

Ix=120 Iy=80

那么梯度

案例

假设:

整数像素:

(100,200)

附近:

梯度:

第一步:求逆矩阵

第二步:计算偏移量

HALCON edges_sub_pix 数学模型

然后:

取多个灰度 ↓ 拟合 ↓ 峰值 ↓ 亚像素位置

Steger算法为什么也是亚像素?

Steger就是

二阶Taylor展开+Hessian矩阵+特征值分析实现亚像素中心定位。

怎么求解:

整数像素 ↓ Taylor展开 ↓ 偏移 ↓ 亚像素

Steger算法得到的中心线坐标通常具有约0.05~0.1 像素的重复精度(具体取决于信噪比、条纹宽度和成像条件),因此被广泛用于激光条纹中心提取。

总结:

http://www.cnnetsun.cn/news/3198051.html

相关文章:

  • 英语口播和小语种视频用什么数字人平台?跨境团队怎么选更稳(CSDN投稿优化版)
  • 警惕非法微信抓包工具:技术合规与安全边界解析
  • 需求变更:为什么软件改着改着就改没了?
  • UC Berkeley团队打通人类视频到机器人执行链路,让机器人从“看到”走向“做到”
  • TPAFE0808与PIC32MX795F512L构建多通道信号采集系统
  • 2026年AI可观测选型指南:从工具堆叠走向一体化智能平台
  • 全球谐波减速器行业规划建议与发展趋势预判报告2026年版
  • 2026年巴西名义雇主合法性推荐榜单:高口碑的八大选择
  • 护眼灯真的有差别吗?什么牌子的护眼灯最好推荐?实测10款主流护眼台灯后的真实结论:一次看清书客、霍尼韦尔、柏曼等品牌的光谱、光场和护眼性能差距,谁在护眼谁在营销?
  • 建筑施工企业临时设施与周转材料固定资产动态管理平台开发
  • 灰度重心法
  • 通过调整编码参数使用 VLC 媒体播放器无损压缩视频方法
  • 2026年企业低代码应用开发,告别“从零造轮子”
  • 2026轻量级小程序制作工具横评:适合中小企业的3家平台
  • 呼叫中心选型,2026年的标准已经变了
  • OpenClaw+Mimiclaw端云协同实战:ESP32-S3与阿里云ECS深度集成指南
  • 单体仓库太大怎么办:如何缩小 Monorepo 体积并提升开发者效率
  • 2026年工业路由器选型深度指南:从核心指标到高可靠场景实践
  • 张家口正规装修设计单位咋选?2026年07月避坑攻略来啦
  • ClaudeAPI 金融场景落地指南:数据权限、审核机制与提示词设计
  • Altium Designer 2018 圆形 PCB 板框设计:3 种方法对比与 DRC 规则设置要点
  • 编译构建流程:从ArkTS到Android APK/iOS IPA的编译链(104)
  • 证件照体积超标审核失败?jpg 图片压缩精准控容,一次通过各类报名
  • Seedance 2.0活体检测绕过原理与14种实测方法解析
  • 第二章Netty,EventLoop概述
  • 逆向分析实战:使用x64dbg与IDA Pro破解3个经典CrackMe程序
  • 鸿蒙新特性:SwipeAction 滑动操作——构建任务收件箱与手势交互
  • Parsec VDD虚拟显示器:如何实现Windows 10+系统的高性能游戏串流解决方案
  • Maya动画渲染太慢?一篇文章教你用云渲染,大幅缩短出图时间(附渲染101使用教程)
  • 【Bug已解决】Codex Windows 通过 Microsoft Store 安装卡死解决方案