当前位置: 首页 > 工具软件 > pyntcloud > 使用案例 >

pyntcloud open3d pyvista pypcl 四种格式互换

陶成化
2023-12-01

pyntcloud open3d pyvista pypcl四种格式互换

mark一下
原文链接:https://blog.csdn.net/weixin_39902184/article/details/111448142
先介绍三种格式的转换pyntcloud open3d pyvista
pyntcloud只支持 "PYVISTA"和 "OPEN3D"之间的转换

import open3d as o3d
from pyntcloud import PyntCloud

####Open3D===》PyntCloud===》Open3D
# FROM Open3D

original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply")

cloud = PyntCloud.from_instance("open3d", original_triangle_mesh)

# TO Open3D

cloud = PyntCloud.from_file("diamond.ply")

converted_triangle_mesh = cloud.to_instance("open3d", mesh=True) # mesh=True by default

import pyvista as pv

from pyntcloud import PyntCloud

####pyvista===》PyntCloud===》pyvista
# FROM PyVista

original_point_cloud = pv.read("diamond.ply")

cloud = PyntCloud.from_instance("pyvista", original_point_cloud)

# TO PyVista

cloud = PyntCloud.from_file("diamond.ply")

converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)

格式互转

  • Open3D===》PyntCloud===》Open3D
import open3d as o3d
from pyntcloud import PyntCloud

####Open3D===》PyntCloud===》Open3D
# FROM Open3D

original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply")

cloud = PyntCloud.from_instance("open3d", original_triangle_mesh)

# TO Open3D

converted_triangle_mesh = cloud.to_instance("open3d", mesh=True) # mesh=True by default
  • pyvista===》PyntCloud===》pyvista
import pyvista as pv
from pyntcloud import PyntCloud

####pyvista===》PyntCloud===》pyvista
# FROM PyVista

original_point_cloud = pv.read("diamond.ply")

cloud = PyntCloud.from_instance("pyvista", original_point_cloud)

# TO PyVista

converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)
  • Open3D===》PyntCloud===》pyvista
import open3d as o3d
import pyvista as pv
from pyntcloud import PyntCloud

####Open3D===》PyntCloud===》pyvista
# FROM Open3D

original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply")

cloud = PyntCloud.from_instance("open3d", original_triangle_mesh)

# TO PyVista

converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)
  • pclpy===》pyvista
  • 需要借助numpy格式,所以暂时只说点转换;其他库转换也是类似的,如果不是numpy需要先转成numpy格式
from pclpy import pcl
import numpy as np
import pyvista as pv
import pclpy


####Open3D===》pyvista
# FROM pclpy 

pcl.io.loadPLYFile('2211.ply', original_cloud)

# TO PyVista

points = pv.PolyData(original_cloud.xyz)#original_cloud.xyz是numpy格式的
 类似资料: