(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
如果你对这段代码的计算方法有疑惑,可以参考勇哥的一篇贴子《三角函数在图形学里的应用(四)》,里面有详细的解释。
————————————————
版权声明:本文为CSDN博主「小娜美要努力努力」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39504171/article/details/96477485

