在【Open3D】点云世界中精准定位,绘制立方体标记特定点位

Open3D精准定位点云特定点,绘制醒目立方体标记,提升数据解读效率与直观性。

Open3D是一个开源的跨平台计算机视觉库,它为开发人员提供了一个易于使用且高性能的3D数据处理平台。

# pcd:传入原始点云图
# point1:要进行标记的点
# point2:要进行标记的点
# 以point1、point2为点,在两者之间绘制立方体

def draw_cube_around_points(pcd, point1, point2):

    # 计算线段的方向和长度
    direction = point2 - point1
    length = np.linalg.norm(direction)

    # 假设我们想要一个边长为10的立方体(根据实际情况调整)
    cube_size = 10.0

    # 计算立方体的中心(线段的中点)
    center = (point1 + point2) / 2

    # 由于立方体是轴对齐的,我们可以简单地设置最小和最大边界
    min_bound = center - np.array([cube_size / 2, cube_size / 2, cube_size / 2])
    max_bound = center + np.array([cube_size / 2, cube_size / 2, cube_size / 2])

    # 创建轴对齐的边界框(这实际上是一个立方体)
    aabb = o3d.geometry.AxisAlignedBoundingBox(min_bound=min_bound, max_bound=max_bound)
    aabb.color = [1, 0, 0]  # 红色

    # 可选:将两点添加到可视化中
    # cloud = o3d.geometry.PointCloud()
    # cloud.points = o3d.utility.Vector3dVector(np.vstack((point1, point2)))
    # cloud.colors = o3d.utility.Vector3dVector([[1, 0, 0], [0, 0, 1]])  # 点1红色,点2蓝色

    # 可视化
    o3d.visualization.draw_geometries([aabb, pcd])

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值