muxum 2024-05-13 14:08 采纳率: 0%
浏览 34
已结题

python点云生成mesh精度不够怎么办

我想使用python将pcd文件转换成stl文件,但是生成的stl文件精度太低。我诉求优化这个代码
我使用了open3d库将pcd转化成numpy格式,然后用stl库将numpy转化成STL,如下是我的代码:


```python
import open3d as o3d
import numpy as np
from scipy import spatial
from stl import mesh

def pcd2stl(path):
    data_pcd = o3d.io.read_point_cloud(path)
    data_xyz = np.nan_to_num( np.asarray(data_pcd.points) )
    # print(xyz_load)
    data_faces = spatial.ConvexHull(data_xyz).simplices
    data_cube = mesh.Mesh(np.zeros(data_faces.shape[0], dtype=mesh.Mesh.dtype))
    for i, f in enumerate(data_faces):
        for j in range(3):
            data_cube.vectors[i][j] = data_xyz[f[j], :]
    data_cube.save('inbox_from_pointcloud.stl')

```

  • 写回答

25条回答 默认 最新

  • 专家-皆知 2024-05-13 14:08
    关注
    获得0.15元问题酬金

    增加采样密度或优化网格生成参数。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    评论

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 创建了问题 5月13日

悬赏问题

  • ¥20 双硬盘安装Ubuntu后windows 无法挂载硬盘
  • ¥15 下面求极限的步骤哪里不对,正确答案是a1a2…an
  • ¥15 帮我利用jupyter 运行一个正确的代码
  • ¥15 如何使用Gephi软件和Python包中的GephiStreamer交互
  • ¥15 sqlite加密问题咨询
  • ¥15 appdesigner接收不到udp组播的数据
  • ¥15 verilog 非阻塞赋值下的移位拼接错误
  • ¥100 两个按钮控制一个LED
  • ¥15 用C语言写离散数学相关问题
  • ¥30 如何用python的GephiStreamer连接到gephi中,把Python和Gephi的具体操作过程都展示,重点回答Gephi软件的调试,以及如果代码的端口在浏览器中无法显示怎么处理