将2D图像堆栈到3D python

2024-06-02 14:05:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个3D格式的2D-CT图像[512, 512, 586](或者从这个数组保存的一堆jpeg文件)。这些图像只有两个像素值:0或255

我需要做的是将这个数组转换成可打印的三维模型/网格(STL或任何可能的方法)

I tried what was described in this post使用简单的itk。但是我没有找到任何关于将卷保存到stl文件中的内容

有办法吗?(使用简单的itk或任何其他库)

--编辑-- 这里是我使用VTK的代码,但是我在将numpy数组转换为VTK数组时遇到了困难

dataImporter = vtk.vtkImageImport()

data_string = ArrayDicom.tostring()

dataImporter.CopyImportVoidPointer(data_string, len(data_string))

dataImporter.SetDataScalarTypeToUnsignedShort()

dataImporter.SetNumberOfScalarComponents(1)

dataImporter.SetDataExtent(0, heightArray-1, 0, depthArray-1, 0, widthArray-1)
dataImporter.SetWholeExtent(0, heightArray-1, 0, depthArray-1, 0, widthArray-1)

这个代码显示一个黑色的窗口,里面什么也没有

其他代码:

^{pr2}$

这个错误是: TypeError:SetInputData()的重载不接受0个参数


Tags: 文件代码图像datastring格式数组jpeg
1条回答
网友
1楼 · 发布于 2024-06-02 14:05:14

您已经阅读了3d图像或卷。据我所知,STL文件格式是用于多边形网格的。您需要对体积感兴趣的内容进行分割,然后使用marching cube之类的工具进行曲面提取,然后清理网格进行打印,然后将其保存为STL文件进行打印。在

您可能需要考虑使用VTK进行网格操作或类似Slicer3D的应用程序

相关问题 更多 >