open3d动态点云渲染问题

问题描述 投票:0回答:1

我必须渲染动态获取的点云。点云被分割成对象,这些对象单独渲染为几何图形。每当现有对象移动时,其几何形状就会更新。每当一个新对象进入场景时,就会添加一个新的几何体。问题来了,每次添加新的几何体时,渲染器的视点都会改变。我还没有找到如何将观点稳定在固定的外在因素上的正确方法。如有任何帮助,我们将不胜感激。

下面的伪代码说明了我正在做的事情。首先创建并添加点云,然后更新(如果已存在)。

while True:
    if not 'pcd' in locals():
        pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_image, camera_intrinsic, camera_extrinsic)
        # adding a new geometry
        vis.add_geometry(pcd)
    else:
        pcd_new = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd_image, camera_intrinsic, camera_extrinsic)
        pcd.points = pcd_new.points
        pcd.colors = pcd_new.colors
        # updating an existing geometry
        vis.update_geometry(pcd)
    vis.update_renderer()
    vis.poll_events()
rendering point-clouds open3d
1个回答
0
投票

使用

vis.add_geometry(pcd, reset_bounding_box=False)
。该标志可防止重新计算视口边界框。

© www.soinside.com 2019 - 2024. All rights reserved.