Halcon8:获取仿射外接矩形(rectangle2)四个顶点坐标
(1)实现功能:
halcon中调用smallest_rectangle2()函数获得仿射外接矩形(旋转外接矩形),返回的是矩形的中心坐标、角度和长短轴长度,但是在有些时候需要使用的是仿射外接矩形的四个顶点坐标。
本文实现的功能是通过矩形的中心坐标、角度和长短轴长度获得四个顶点的坐标。
(2)实现代码:
smallest_rectangle2 (ObjectSelected, Row16, Column16, Phi3, Length1, Length2)
*提取仿射最小外接矩形的四个顶点坐标
gen_rectangle2_contour_xld (Rectangle4, Row16, Column16, Phi3, Length1, Length2)
tuple_cos (Phi3, Cos)
tuple_sin (Phi3, Sin)
dev_set_color('red')
a:= -Length1*Cos - Length2*Sin
b := -Length1*Sin + Length2*Cos
gen_cross_contour_xld(Cross, Row16-b, Column16+a, 6, Phi3)
c := Length1*Cos - Length2*Sin
d := Length1*Sin + Length2*Cos
gen_cross_contour_xld(Cross, Row16-d, Column16+c, 6, Phi3)
e:= Length1*Cos + Length2*Sin
f := Length1*Sin - Length2*Cos
gen_cross_contour_xld(Cross, Row16-f, Column16+e, 6, Phi3)
g := -Length1*Cos + Length2*Sin
h := -Length1*Sin - Length2*Cos
gen_cross_contour_xld(Cross, Row16-h, Column16+g, 6, Phi3)