gpt4 book ai didi

c# - 在vtk中使用c# byte[]图像数据

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:40 28 4
gpt4 key购买 nike

我正在使用 Kitware.VTK 工具包在 3d 中显示 2d 图像。

我在 byte[] 中有图像。我想使用 vtkImageviewer 在 Kitware.VTK 的 renderviewcontrol 中显示它。我对 VTK 不太了解。

还有其他方法可以完成任务吗?有人可以帮我吗?

最佳答案

您可以将字节数组复制到 VTK 世界中并创建一个 vktImageData 对象以将其用作 InputConnection

vtkUnsignedCharArray myCharArray = vtkUnsignedCharArray.New();
GCHandle myPinnedArray = GCHandle.Alloc(myByteArray, GCHandleType.Pinned);
myCharArray.SetArray(myPinnedArray.AddrOfPinnedObject(), myData.Width * myData.Height * myData.Depth, 1);

vtkImageData myVtkImageData = vtkImageData.New();
myVtkImageData.GetPointData().SetScalars(myCharArray);
myVtkImageData.SetScalarTypeToUnsignedChar();

myVtkImageData.SetExtent(0, myData.Width - 1, 0, myData.Height - 1, myData.Depth -1);

myVtkImageData.Update();

myData 只是有关字节数组图像维度的信息。您还应确保 GCHandlevtkImageData 对象未被 GC 清除。

根据您的数据,可能需要设置 OriginSpacing

关于c# - 在vtk中使用c# byte[]图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31670753/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com