已知Retangle2的中心点坐标,角度,半长,半宽,计算四个顶点坐标和四个线段中点坐标

Halcon可以通过最小外接矩型算子获取Retangle2的中心点坐标,角度,半长,半宽。但是却没有四个顶点坐标和四个线段中点坐标。下面的代码是获取四个顶点坐标和四个线段中点坐标的方法。


Row1:=200
Column1:=300
Phi:=-0.39
Len1:=100
Len2:=50
*获取外接最小矩形的参数
gen_rectangle2 (Rectangle, Row1, Column1, Phi, Len1, Len2)
*生成一个辅助矩形
dev_set_color ('blue')
gen_rectangle2 (Rectangle1, Row1, Column1,rad(0), Len1, Len2)
gen_cross_contour_xld (Cross, Row1, Column1, 20, 0.785398)
*求出辅助矩形的四个顶角
r1:=Row1-Len2
c1:=Column1-Len1
r2:=Row1-Len2
c2:=Column1+Len1
r3:=Row1+Len2
c3:=Column1+Len1
r4:=Row1+Len2
c4:=Column1-Len1

*根据点和角度,创建一个矩阵关系
vector_angle_to_rigid (Row1, Column1, rad(0), Row1, Column1, Phi, HomMat2D)
*对点进行仿射变换
affine_trans_point_2d (HomMat2D, r1, c1, r1, c1)
affine_trans_point_2d (HomMat2D, r2, c2, r2, c2)
affine_trans_point_2d (HomMat2D, r3, c3, r3, c3)
affine_trans_point_2d (HomMat2D, r4, c4, r4, c4)

R1:=[r1,r2,r3,r4]
C1:=[c1,c2,c3,c4]

dev_set_color ('green')
gen_cross_contour_xld (Cross1, R1, C1, 16, 0.785398)
return ()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值