HALCON第四讲->几何变换

文章目录

      • 一、基础概念与核心原理
      • 一、刚体变换:保持形状不变(平移+旋转)
        • **核心算子**与原理
      • 二、仿射变换:线性变换(平移+旋转+缩放+错切)
        • **核心算子**与矩阵操作
        • **错切变换示例**
      • 三、投影变换:透视校正(非共面点映射)
        • **核心算子**与流程
      • 四、非刚体变换:弹性形变(局部扭曲)
        • **核心算子**与场景
      • 五、像素与图像变换
        • **1. 仿射变换矩阵构建**
        • **2. 投影变换实现**
      • 六、XLD轮廓变换
        • **1. 轮廓仿射变换**
        • **2. 轮廓形状转换**
      • 七、区域变换(二值形态学处理)
        • **1. 区域仿射变换**
        • **2. 区域形态学变换**
      • 八、综合案例:刹车盘多角度尺寸测量
        • **目标**:倾斜状态下测量内径+外径+圆度
      • 九、参数调优黄金法则
        • **3. 插值算法选型**
        • **4. 工业级问题解决方案**

以下针对HALCON几何变换技术进行系统梳理,结合工业场景需求、数学原理及参数调优策略,分类详解刚体变换、仿射变换、投影变换及非刚体变换的核心算子,并附综合案例。


一、基础概念与核心原理

几何变换本质:将图像中的坐标位置映射到新坐标位置,不改变像素值,仅重新排列像素空间关系。
齐次坐标系:用于简化变换计算,二维坐标扩展为三维向量(如像素坐标(x,y)表示为(x,y,1))。
变换类型

  • 刚体变换:平移+旋转(保持形状不变)
  • 仿射变换:平移+旋转+缩放+错切(保持平行性)
  • 投影变换:任意四边形映射(模拟透视效果)

一、刚体变换:保持形状不变(平移+旋转)

核心算子与原理
  1. vector_angle_to_rigid

    • 功能:计算刚体变换矩阵(平移+旋转)
    • 参数
      • Row1, Col1:参考点坐标
      • Angle:旋转角度(弧度)
      • Row2, Col2:目标点坐标
    • 数学原理
      [cos⁡θ−sin⁡θTxsin⁡θcos⁡θTy001] \begin{bmatrix} \cos\theta & -\sin\theta & T_x \\ \sin\theta & \cos\theta & T_y \\ 0 & 0 & 1 \end{bmatrix} cosθsinθ0sinθcosθ0TxTy1
      其中 Tx=Col2−Col1T_x = \text{Col2} - \text{Col1}Tx=Col2Col1, Ty=Row2−Row1T_y = \text{Row2} - \text{Row1}Ty=Row2Row1
    • 场景:机械零件定位(平移旋转后姿态对齐)
      * 计算变换矩阵
      vector_angle_to_rigid(RefRow, RefCol, 0, TargetRow, TargetCol, Angle, HomMat2D)
      * 应用变换
      affine_trans_region(Region, RegionTrans, HomMat2D, 'nearest_neighbor')
      
  2. rigid_trans_image

    • 功能:直接对图像进行刚体变换
    • 参数Interpolation(插值方式)影响边缘质量
      • 'nearest_neighbor':速度快,锯齿明显
      • 'bilinear':平衡速度与质量(默认)
      • 'weighted':抗锯齿最佳,速度慢

二、仿射变换:线性变换(平移+旋转+缩放+错切)

核心算子与矩阵操作
  1. 矩阵构造算子

    </
    算子 功能 参数示例
    hom_mat2d_identity 创建单位矩阵 -
    hom_mat2d_translate 添加平移 Tx, Ty(像素偏移)
    hom_mat2d_rotate 添加旋转 Angle(弧度), PivotX, PivotY(旋转中心)
    hom_mat2d_scale 添加缩放 Sx, Sy(缩放因子)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓纪同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值