open3d点云平移

发布时间:2024年01月22日

功能简介

open3d中点云的平移函数为:pcd.translate((tx, ty, tz), relative=True)。当relative为True时,(tx, ty, tz)表示点云平移的相对尺度,也就是平移了多少距离。当relative为False时,(tx, ty, tz)表示点云中心(质心)平移到的指定位置。质心可以坐标可以通过pcd.get_center()得到。

代码示例

参考代码:

def open3d_translate():
    pcd_path = r"E:\Study\Machine Learning\Dataset3d\points_pcd\cat.pcd"
    pcd = open3d.io.read_point_cloud(pcd_path)
    print('pcd center point: ', pcd.get_center())
    pcd_translate = deepcopy(pcd)
    pcd_translate.translate((50, 50, 50), relative=True)
    print('pcd_translate center point: ', pcd_translate.get_center())
    open3d.visualization.draw_geometries([pcd, pcd_translate],    # 点云列表
                                         window_name="Rabbit",    # 窗口名称
                                         width=800,
                                         height=600)

ps:使用translate进行点云平移后,原始点云数据会发生变化。如果要用到平移之前的点云,那么需要复制一份原始点云进行平移变换。这里输出:

pcd center point:  [ 1.05603759e-02 -5.09065193e+00  2.88664306e+01]
pcd_translate center point:  [50.01056038 44.90934807 78.86643059]

图像输出?

?

文章来源:https://blog.csdn.net/qq_20660115/article/details/135742416
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。