halcon几何变换(仿射变换)
旋转、平移、镜像、缩放、斜切,可参考https://blog.csdn.net/machaoyu86/article/details/51182473
仿射变换前,需要获得仿射变换矩阵。
关于shape_trans(Region : RegionTrans : Type : ),内、外接圆、矩形,凸包。可参考https://blog.csdn.net/u012551485/article/details/75136664
以halcon自带案例check_blister.hdev为例,部分代码且有改动:
思路:原图——R通道图——二值图——凸包图——旋转后彩色图(角度很小)
dev_update_window ('off') //停止更新窗体 dev_close_window () //关闭窗体 read_image (ImageOrig, 'blister/blister_reference') dev_open_window_fit_image (ImageOrig, 0, 0, -1, -1, WindowHandle) //窗口大小适应图片 access_channel (ImageOrig, Image1, 1) //通道1,R图 threshold (Image1, Region, 90, 255) //二值化,灰度直方图工具 shape_trans (Region, Blister, 'convex') //凸包,内部都被填充 orientation_region (Blister, Phi) //区域方向,获得角度值Phi,范围[-Π,Π) area_center (Blister, Area1, Row, Column) //获得面积、质心坐标 vector_angle_to_rigid (Row, Column, Phi, Row, Column, 0, HomMat2D) // 获得仿射变换矩阵HomMat2D affine_trans_image (ImageOrig, Image2, HomMat2D, 'constant', 'false') //对图像进行仿射变换,插值算法constant dev_update_window ('on') //更新窗体
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!