首页 > 其他分享 >Halcon刚性变换

Halcon刚性变换

时间:2024-11-08 11:16:43浏览次数:3  
标签:mat2d 刚性 HomMat2D 变换 xld Halcon contour 仿射变换

     刚性仿射变换(Rigid Affine Transformation)是一种机械视觉和图像处理常用的技术,通常用于在保持物体形状和大小不变的情况下,对物体进行旋转和平移。常见于模板匹配,定位跟随等场景。

1: vector_angle_to_rigid( : : Row1, Column1, Angle1, Row2, Column2, Angle2 : HomMat2D)

     功能:用于从点和角度计算刚性仿射变换。该函数根据点对应关系和两个对应角度计算刚性仿射变换,并将其作为齐次变换矩阵HomMat2D返回。这个函数从匹配函数的结果中对构造一个刚体仿射变换很有用,把参考图像变为当前图像。

     Row1Column1代表原始点的行列坐标,Angle1是原始点的角度

    Row2Column2代表转换点的行列坐标,Angle2是转换点的角度,

    HomMat2D是输出的转换矩阵。

2:affine_trans_contour_xld(Contours, ContoursAffineTrans, HomMat2D)

     功能:用于对XLD轮廓进行任意仿射2D变换。这个函数将任意仿射2D变换(即缩放、旋转、平移和倾斜)应用于轮廓中给定的XLD轮廓,并以ContoursAffineTrans的形式返回变换后的轮廓。仿射变换由HomMat2D中给出的齐次变换矩阵来描述。

     Contours  输入的XLD轮廓

    ContoursAffineTrans  转换后的XLD轮廓

    HomMat2D 输入的转换矩阵。

   通过这两个函数,可以实现对图像中物体的定位和变换,以适应不同的视觉处理需求。

案例分析:


read_image (Image33, 'E:/Halcon数据/资源图片/33.png')
get_image_pointer1 (Image33, Pointer, Type, Width, Height)
r:=Height/2
c:=Width/2
dev_set_color ('blue')
gen_arrow_contour_xld (Arrow, r, c, r, c+300, 5, 5)
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_rotate (HomMat2DIdentity, rad(90), r, c, HomMat2DRotate)
affine_trans_contour_xld (Arrow, ContoursAffineTrans, HomMat2DRotate)
*初始位
r1:=r
c1:=c+150
dev_set_color ('red')
gen_rectangle2_contour_xld (Rectangle, r1, c1, rad(90), 50.5, 10.5)


*目标位 角度变换90
r2:=r-150
c2:=c

dev_set_color ('red')
*刚性变换

vector_angle_to_rigid (r1, c1, 0, r2, c2, rad(90), HomMat2D)
affine_trans_contour_xld (Rectangle, ContoursAffineTrans2, HomMat2D)

通过矩阵分步演化

dev_set_color ('green')
hom_mat2d_identity (HomMat2DIdentity1)
hom_mat2d_rotate (HomMat2DIdentity1, rad(90), r1, c1, HomMat2DRotate1)
hom_mat2d_translate (HomMat2DRotate1, (r2-r1), (c2-c1), HomMat2DTranslate)
affine_trans_contour_xld (Rectangle, ContoursAffineTrans1, HomMat2DTranslate)

标签:mat2d,刚性,HomMat2D,变换,xld,Halcon,contour,仿射变换
From: https://blog.csdn.net/2202_75557553/article/details/143612415

相关文章

  • Halcon 二维码识别
        二维条形码(2-DimensionalBarCode)在水平和竖直方向的二维空间存储信息,其特点是信息容量大、安全性强、保密性高(可加密)、识别率高、编码范围广等。除此之外,二维条形码还可将汉字、图像等信息进行优化编码处理具有全方位识别,并可引入加密机制的功能。因此,二维条形码......
  • 顶会新热门:小波变换×Transformer,效率翻倍的AI图像去噪神奇组合
    2024深度学习发论文&模型涨点之——小波变换+Transformer 小波变换与Transformer的结合主要探讨如何利用小波变换的多尺度特性来增强Transformer在处理信号和图像数据时的表现。具体来说,小波变换能够有效提取信号中的局部特征,并在时间和频率域上提供信息,这对于处理复杂的......
  • 结合创新,小波变换+注意力机制竟能实现100%分类准确率
    2024深度学习发论文&模型涨点之——小波变换+注意力机制小波变换是一种先进的信号分析技术,它擅长捕捉信号的局部特征,但有时可能会忽略数据中的关键信息。为了克服这一局限,我们引入了注意力机制,这一机制能够强化模型对数据重要部分的关注。通过将小波变换与注意力机制相结合,我......
  • 基于DSP的移相全桥ZVZCS直流变换器研究
    基于DSP的移相全桥ZVZCS直流变换器研究pwm是脉冲调制技术,对于pwm,我们或多或少有所了解。在前文中,小编对pwm控制原理、spwm控制原理有所介绍。为增进大家对pwm技术的了解程度,本文将对单极性pwm模式以及双极性pwm模式予以阐述。如果你对pwm具有兴趣,不妨继续往下阅读哦。一、单极性......
  • 25kW零电压零电流开关移相全桥PWM+DC-DC变换器的研究
    25kW零电压零电流开关移相全桥PWM+DC-DC变换器的研究用电路元件符号表示电路连接的图,叫电路图。电路图是人们为研究、工程规划的需要,用物理电学标准化的符号绘制的一种表示各元器件组成及器件关系的原理布局图,可以得知组件间的工作原理,为分析性能、安装电子、电器产品提供规划方......
  • 快速沃尔什变换(FWT)
    快速沃尔什变换(FWT)前言本文为个人学习笔记,大量参考了oi-wiki以及其他博客的内容。问题给定\(a,b\)序列,求:\[c_i=\sum_{i=j\oplusk}a_jb_k\]其中,\(\oplus=\operatorname{or}/\operatorname{and}/\operatorname{xor}\)。做法核心思想对于某种特定的\(\o......
  • 刚性PCB VS 柔性PCB,区别和作用,你该这样选!
    从前,大多数电子产品采用传统刚性PCB。然而,随着技术发展,许多产品因刚性PCB无法折叠或扭曲而放弃了它,进而催生了柔性PCB的理念,且柔性PCB很快成为市场上众多专业人士的首选。刚性与柔性PCB的制造过程大致相同,但在灵活性、柔软性及成本方面存在差异。柔性PCB成本高......
  • 基于Open-CV的多四边形检测方案(一):图像预处理与霍夫变换
    目录一、设计目标二、工作流程三、图像预处理与霍夫变换一、设计目标对于一个含有多个相邻四边形的图片,可以定位出其中每一个四边形的顶点。典型的案例如一个围棋棋盘,可以定位出所有的格子的点。软件工具:Python==3.9opencv-python==4.10.0.84numpy==1.22.4二......
  • (3)---【C语言】【GL库】【计算机图形学】DEV C++ 平台openGL库 下的画线图案设计 房
    声明:        由于本人是一名学生,现阶段还要完成学业,所以我们每周假期再回!谢谢大家理解和支持!上篇上手实践  运行结果 实现代码#include<windows.h>#defineGLUT_DISABLE_ATEXIT_HACK//处理不同系统的配置问题的宏#include<GL/glut.h>#include<std......
  • Halcon区域分割之分水岭分割法
        现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。    分水岭分割法是一种基于拓扑理论的数学形态学的分割方法,其基本思......