从 pyVista PolyData 对象生成内部填充的 2D 图像

问题描述 投票:0回答:0

我正在为砂打印机开发切片机,我需要从从 .STL 文件中提取的每个切片生成图像。我需要从 3D .STL 文件转到单个二进制图像。

example

this is what I currently have

我正在使用 numpy-stl 库加载文件和 pyVista 来生成切片。

from stl import mesh
import pyvista as pv

addr = 'example.stl'
mesh = pv.read(addr)
slices = mesh.slice_along_axis(n=50, axis='x', progress_bar=False)  
plotter = pv.Plotter()
plotter.add_mesh(slices[22], color='yellow', line_width=2.5)
plotter.add_mesh(mesh)
plotter.show()

我需要的是迭代每个切片并输出图像。我尝试从 PolyData 对象中提取点和线,并使用 OpenCV 绘制它们中的每一个,但我最终只得到了等高线。如所附图片所示,一些几何形状有点复杂,我找不到一种有效的方法来识别哪个像素是“in”,哪个是“out”。

我应该提到打印区域非常大。最终图像必须有 15.000 x 15.000 像素,打印量由 2.000 切片组成。尽管计算量很大,但应该在不到 10 分钟的时间内生成这 2000 张图像。

如何从切片对象转到下面显示的最终图像?

this is the final objective

python opencv 3d stl pyvista
© www.soinside.com 2019 - 2024. All rights reserved.