import open3d as o3d
import numpy as np
if __name__ =='__main__':
ply = o3d.io.read_point_cloud('bunny10k.ply','auto',True,True)
o3d.visualization.draw_geometries([ply],
window_name='Open3D',
width=1920, height=1080,
point_show_normal=False)
设置颜色
paint_uniform_color(self, color)
归一化RGB颜色,值的范围在[0,1]之间,所有点同色;
import open3d as o3d
import numpy as np
if __name__ =='__main__':
ply = o3d.io.read_point_cloud('bunny10k.ply','auto',True,True)
ply.paint_uniform_color([0,0,1])#ply.paint_uniform_color([1, 0, 1])# ply.paint_uniform_color([1, 0, 0])
o3d.visualization.draw_geometries([ply],
window_name='Open3D',
width=1920, height=1080,
point_show_normal=False)
设置索引点颜色
import open3d as o3d
import numpy as np
if __name__ =='__main__':
ply = o3d.io.read_point_cloud('bunny10k.ply','auto',True,True)
ply.paint_uniform_color([0,0,1])
color=np.array(ply.colors)
inlier=[i for i inrange(0,color.shape[0])if i %2==0]
color[inlier]=[1,0,0]
ply.colors=o3d.utility.Vector3dVector(color[:,:3])
o3d.visualization.draw_geometries([ply],
window_name='Open3D',
width=1920, height=1080,
point_show_normal=False)
可视化法线
estimate_normals(self, search_param=KDTreeSearchParamKNN with knn =30, fast_normal_computation=True)
import open3d as o3d
import numpy as np
if __name__ =='__main__':
ply = o3d.io.read_point_cloud('bunny10k.ply','auto',True,True)
ply.paint_uniform_color([0,0,1])# 计算法线,搜索半径0.01m,只考虑邻域内的30个点
ply.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.01, max_nn=30))
o3d.visualization.draw_geometries([ply],window_name="Open3D", width=1920, height=1080,left=50, top=50,point_show_normal=True)