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

2D变换——坐标系

Halcon的坐标系主要分为三类。像素坐标系、亚像素坐标系、亚像素边缘坐标系。像素坐标系和亚像素坐标系统称为Halcon标准坐标系。亚像素边缘坐标系(Edge Centered)称为Halcon非标准坐标系

Halcon标准坐标系

在Halcon标准坐标系下,坐标系的原点在图像的左上角像素的中心位置。,亚像素的边缘坐标系中,坐标系的原点位于图像左上角像素点的左上方。还能够表示出一个像素内的坐标差异(在亚像素坐标系下图像左上角为(-0.5,-0.5))

在Halcon文档中,给出了两种标准坐标系的示意图。左侧为像素坐标系,右侧为亚像素坐标系。值得注意的是,对于像素坐标系而言,两种坐标系的表示精度存在差异。在像素坐标系中,X的位置在(6,5)。亚像素坐标系中则在(6.0,5.0)。并且能够发现,亚像素坐标系能够精确表示出跨像素的圆环的所在位置,但在像素坐标系下无法表示。
image

像素坐标系的图像尺寸

image

亚像素坐标系的图像尺寸

image

Halcon非标准坐标系

Halcon中非标准坐标系的提出,主要是为了方便我们更加直观的进行2D转换。 如果我们在2D转换中仍然使用亚像素坐标系进行,那么我们不仅要考虑左上角负值的问题,而且图像进行旋转后还会有一个像素单位的重叠。但如果我们将像素原点指定在图像左上角那么这些问题都能解决。
image

非标准坐标系下的图像尺寸

image

Halcon不同坐标系下的转换

当我们进行仿射变换时,Halcon中存在这么一类算子。其希望处理的图形对象处于Halcon的标准坐标系下,但他们所接受的仿射变换矩阵的信息是基于边缘坐标系创建的。对于这类算子,我们无需担心其转换问题。调用如下算子时其内部会自动完成,对于图形对象的坐标系转换(标准坐标系->边缘中心坐标系),在使用仿射矩阵进行变换,变换结束后再将其转换为标准坐标系。
例如,当我们进行模板匹配时,得到的坐标信息就是在边缘坐标系下的。因此我们可以直接根据得到的结果创建仿射变换矩阵并使用affine_trans_contour_xld进行仿射变换。

image

http://www.rkmt.cn/news/6029.html

相关文章:

  • P13693 [CEOI 2025] Equal Mex 题解
  • 力扣46题 全排列
  • 达成调用libchdb.a静态连接库中的未公开导出函数
  • Redis常用命令
  • .NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
  • 事件轮循机制EventLoop
  • 大模型与知识图谱驱动测试公开课
  • 上位机项目展示
  • 美化自己的Github主页-Github profile页面仓库使用指南
  • windows系统下anaconda的安装和使用
  • Lock分析:systemstate分析row cache lock
  • 遗传算法与偏最小二乘结合的化学光谱变量选择方法
  • 云剪贴板
  • nvm与node.js的安装指南
  • 在Android开发中实现两个Intent跳转及数据交换的方法
  • ARC188 做题记
  • AT_arc145_d [ARC145D] Non Arithmetic Progression Set
  • C# 多线程编程核心要点:不只是Thread和lock
  • 研究生学术英语读写教程(中国科学院大学出版) Unit10 TextA 原文以及翻译(仅供学习)
  • go使用反射获取http.Request参数到结构体 - 实践
  • centos7中mysql环境配置
  • Symfony学习笔记 - 利用Doctrine开发一个学生信息的增删查改
  • 实时内核中的调度程序节流
  • 我的ai 相关工具站
  • C#第十一章 023 024
  • centos7中scrapy运行环境配置
  • flutter配置国内镜像
  • 微信小程序 live-player 无声音
  • 陈燕的项目启动笔记
  • hyperv 管理的 ubuntu 虚拟机压缩磁盘