python中使用vtk将点云生成stl文件并保存

import numpy as np
from mayavi import mlab
import vtk
from scipy.spatial import Delaunay

def stlcreator(pm,filepath):
    """根据点云数据生成stl文件"""
    # pm为三维点云数组
    x = pm[:, 0]
    y = pm[:, 1]
    z = pm[:, 2]
    xy = np.column_stack((x, y))
    tri = Delaunay(xy)    # 划分平面三角网格
    element = tri.simplices    # 每一个三角网格所包含点的索引号
    surface = mlab.pipeline.triangular_mesh_source(x, y, z, element)    # 建立三角曲面
    surface_vtk = surface.outputs[0]._vtk_obj    # 生成vtk文件
    stlWriter = vtk.vtkSTLWriter()    # stl生成器
    stlWriter.SetFileName(filepath)    # 设置文件路径
    stlWriter.SetInputConnection(surface_vtk.GetOutputPort())    # 设置stlWriter的vtk接口
    stlWriter.Write()    # 保存曲面为stl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值