目录
一、出现一只兔子(读取点云数据)
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] #第100个点是红点
[k, idx, _] = p

本文详细介绍了如何使用open3d库处理3D图像,包括读取点云数据、近邻搜索(KNN、半径、混合)、法向量估计和生成三角片面的过程。通过实例演示了各种操作,如安装open3d、打开点云文件、降噪处理和生成Mesh结构。
最低0.47元/天 解锁文章
7490

被折叠的 条评论
为什么被折叠?



