OBB包围盒的生成方法

OBB包围盒,具有两个显著的特点:

  • 在包含所有给定点的前提下,能够使得包围盒面积最小;
  • 所生成的包围盒带有方向。

这里,通过一段时间的积累,主要给出基于PCA主成分分析的OBB包围盒的生成方法(二维),如有不当的地方,望指教^_^!
有些基础的知识可以查阅其他资料

问题描述:给定n个二维坐标点{(x1,y1), (x2,y2), …, (xn,yn)},求能够包围所有这些点的OBB包围盒(长,宽,方向,中心店)。

求解概括:

  1. 按坐标类型对数据进行组合:x = {x1, x2, …, xn},y = {y1, y2, …, yn}
  2. 分别求出集合x和集合y的平均值averX和averY,并构建协方差矩阵:
    [cov(x,x)cov(y,x)cov(x,y)cov(y,y)](1)
  3. 再根据协方差矩阵求解其特征值和特征向量,其中特征值较大者为OBB包围盒的方向。
  4. 得到的特征向量即为新的坐标系,将原始数据回落到该坐标系下,即可求得OBB包围盒的长,宽以及中心点。

具体实例:

原始数据,第一列为x轴坐标,第二列为y轴坐标:

3.74.14.75.26.06.39.710.011.012.51.43.82.92.84.03.66.34.93.66.4(2)

计算得到协方差矩阵,网上方法很多,这里就不做介绍:
[10.09293.859563.859562.40233](3)

求出协方差的最大特征值为:11.6958
特征向量为
[0.9235250.383539](4)

将原始数据回落至新的坐标轴上,(首先原始数据 - 平均值)*特征向量组:
3.623.222.622.121.321.022.382.683.685.182.570.171.071.170.030.372.330.930.372.43[0.9235250.383539](5)

得到最终结果:
4.328853.038952.830022.406611.207551.08393.091642.831743.256665.715860.9850461.0780.01670180.267420.5339770.04950571.238990.1690081.753130.257431(6)

长度:10.0447
宽度:2.99212

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值