点云旋转平移介绍,请参考上一节:点云旋转平移(一)—基础知识介绍_Coding的叶子的博客-CSDN博客。
本节所使用的示例pcd点云文件请参考:pcd格式点云样例文件-深度学习文档类资源-CSDN下载。
open3d中点云的平移函数为translate。其函数原型如下所示:
pcd.translate((tx,ty,tz),relative=True)
当relative为True时,(tx, ty, tz)表示点云平移的相对尺度,也就是平移了多少距离。当relative为False时,(tx, ty, tz)表示点云中心(质心)平移到的指定位置。质心可以坐标可以通过pcd.get_center()得到。
pcd.get_center()
注意事项:使用translate进行点云平移后,原始点云数据会发生变化。如果要用到平移之前的点云,那么需要复制一份原始点云进行平移变换。
# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""
from copy import deepcopy
import open3d as o3d
if __name__ == '__main__':
file_path = 'rabbit.pcd'
pcd = o3d.io.read_point_cloud(file_path)
print(pcd)
pcd1 = deepcopy(pcd)
#x方向平移
pcd1.translate((20,0,0), relative=True)
pcd2 = deepcopy(pcd)
#y方向平移
pcd2.translate((0,20,0), relative=True)
#z方向平移
pcd3 = deepcopy(pcd)
pcd3.translate((0,0,20), relative=True)
pcd4 = deepcopy(pcd)
pcd4.translate((20,20,20), relative=True)
#点云显示
o3d.visualization.draw_geometries([pcd, pcd1, pcd2, pcd3, pcd4], #点云列表
window_name="点云平移",
point_show_normal=False,
width=800, # 窗口宽度
height=600) # 窗口高度
点云旋转平移(一)—基础知识介绍_Coding的叶子的博客-CSDN博客点云旋转平移基础知识,下一节介绍示例程序。https://blog.csdn.net/suiyingy/article/details/124374486
python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_3d点云 python从三维基础知识到深度学习,将按照以下目录持续进行更新。https://blog.csdn.net/suiyingy/article/details/124017716
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。