构建自己的点云数据集

构建自己的点云数据集

使用经典斯坦福兔子数据,随机旋转一个角度,生成n个点云并保存

import open3d as o3d
import random
from copy import deepcopy
import numpy as np
def new_pcd(pcd):
    for i in range(1000):
        n = random.uniform(0, 2)
        newpcd = deepcopy(pcd)
        R=pcd.get_rotation_matrix_from_xyz((np.pi/n, np.pi/n, np.pi/n))#绕xyz轴旋转pi/n°
        newpcd.rotate(R, center=(n, 0, 0))  # 旋转点位于x=n处,若不指定则默认为原始点云质心。
        o3d.io.write_point_cloud("{}.pcd".format(i), newpcd, write_ascii=True, compressed=False, print_progress=False)
pcd = o3d.io.read_point_cloud(r"D:\点云测试数据\bunny.pcd")
pcd.paint_uniform_color([0.5, 0.5, 0.5])  # 指定显示为灰色
new_pcd(pcd)

你可能感兴趣的:(python,开发语言)