目录
一、概述
二、代码实现
三、实现效果
一、概述
ShapeNet 数据集是一个广泛使用的三维物体数据集,主要用于计算机视觉、计算机图形学、机器人学和机器学习等领域的研究。它包含大量的三维物体模型,并附有丰富的标注信息。ShapeNet 数据集由普林斯顿大学、斯坦福大学和密歇根大学等多个机构合作开发。
在做PointNet++复现时,为了便于将点云可视化观察和做自己的数据集。对txt文件转换为Open3D可以读取的点云文件。
二、代码实现
import open3d as o3d
import numpy as np
txt_path = 'shapenetcore_partanno_segmentation_benchmark_v0_normal\02691156\1a32f10b20170883663e90eaf6b4ca52.txt'
# 通过numpy读取txt点云
pcd = np.genfromtxt(txt_path, delimiter=" ")
pcd_vector = o3d.geometry.PointCloud()
# 加载点坐标
# txt点云前三个数值一般对应x、y、z坐标,可以通过open3d.geometry.PointCloud().points加载
# 如果有法线或颜色,那么可以分别通过open3d.geometry.PointCloud().normals或open3d.geometry.PointCloud().colors加载
pcd_vector.points = o3d.utility.Vector3dVector(pcd[:, :3])
pcd_vector.colors = o3d.utility.Vector3dVector(pcd[:, 3:6])
o3d.visualization.draw_geometries([pcd_vector])
# o3d.io.write_point_cloud('airpalane.pcd',pcd)