目录
一、出现一只兔子(读取点云数据)
1、安装
代码:pip install open3d
查看安装包:pip list
2、用open3d打开兔子文件
import os
os.chdir("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/Lib/site-packages")
import open3d as o3d
import numpy as np
print("Open3D read Point Cloud")
pcd=o3d.io.read_point_cloud(r"D:\Python\bunny\bunny10k.ply")
print(pcd)
o3d.visualization.draw_geometries([pcd],width=800,height=600)
打印结果:(此时是多角度的点云拼接,有大量重复点云)
注意:不要忘了文件路径的设置
按ctrl+-号可以减少点云的体素尺寸,ctrl++放大
3、另存为一个点云文件
o3d.io.write_point_cloud(r"data\newrabbit.pcd",pcd)
二、近邻搜索
采用近邻搜索的方式对扫描仪扫描结果进行降噪
1、基于KNN
import open3d as o3d
import numpy as np
print("Open3D read Point Cloud")
pcd = o3d.io.read_point_cloud(r"bunny10k.ply")
pcd.paint_uniform_color([0.5, 0.5, 0.5]) #统一为灰点
pcd_tree = o3d.geometry.KDTreeFlann(pcd) #贴着物体表面寻找
pcd.colors[100] = [1, 0, 0] #第