halcon刚性变换(平移+旋转)——vector_to_rigid

前言

在图像处理中我们有时候对图像或者区域进行纠偏,在刚性变换场景中,图像发生的变化是平移和旋转,本文就来介绍根据2个及2个以上目标点的平移来计算如何对图像和区域纠偏,这种方式的好处是你可以不需要知道角度的偏移。

1、halcon算子应用

csharp 复制代码
dev_clear_window()
px:=[100,200]
py:=[100,100]
qx:=[100,100]
qy:=[100,0]

vector_to_rigid (px, py, qx, qy, HomMat2D)
dev_set_color ('red')
gen_rectangle2 (Rectangle, 100, 100, 0, 100, 50)
dev_set_color ('green')
affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D, 'nearest_neighbor')

vector_to_rigid用于计算刚性变换矩阵,该算子有5个参数

参数1变换前目标中心点的列坐标构成的数组

参数2变换前目标中心点的行坐标构成的数组

参数3变换后目标中心点的列坐标构成的数组

参数4变换后目标中心点的行坐标构成的数组

参数5是从变换前到变换后的刚性变换矩阵

上面的halcon代码的作用是根据(100,100),(200,100)这两个变换前的点;然后将这2个点绕着(100,100)逆时针旋转90度后得到的(100,100),(100,0)得到旋转后的点,通过这四个坐标点就构建了变换矩阵,最后再对中心点为(100,100),长200,宽100的矩形区域应用这个变换矩阵,最终得到的就是将这个矩形区域逆时针旋转90度后的效果。

2、 刚性变换效果

下图中红色是变换前,绿色为变换后,可以看出矩形经过变换后逆时针旋转了90度。

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

以上教程CSDN订阅已超过2000+~

相关推荐
mingbaiceping3 分钟前
复旦-华盛顿大学EMBA:2026年AI课程矩阵解析
人工智能
李福春13 分钟前
技术思考问题17:上了LangChain框架就等于AI-Agent工程化吗?
大数据·人工智能·langchain·深圳同盟·腾讯云架构师技术同盟·llm应用架构·编排抽象
揽秀亭长21 分钟前
AIGC 检测原理拆解与论文降 AI 率的可复现处理流程(2026版)
人工智能·aigc
羞儿23 分钟前
【DSH】为什么需要-Harness
人工智能·大模型·harness·认知构建
JackLam3 小时前
AI-安装ChatGpt Codex
人工智能
强哥聊算力3 小时前
《算力江湖·英伟达传奇》第七集:ChatGPT出现前夜,英伟达发生了什么?
服务器·人工智能·算法·ai·chatgpt·gpu算力
吴佳浩3 小时前
Run:ai 开源了,我把 GPU 编排摆回 AI 栈里看了一遍
人工智能
IT_Octopus5 小时前
【零基础入门 LLM 开发 · Day 13】:LangChain 的对话记忆——Message 对象版
人工智能·python·langchain
2603_965148115 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
LiuPig刘皮哥5 小时前
2026年开源3D陪玩对比:xiaoke.ai、AIRI、Open-LLM-VTuber、Amica 有什么、没有什么
人工智能·3d·开源