在vtk中使用c# byte[]图像数据
本文关键字:图像 数据 byte vtk | 更新日期: 2023-09-27 18:05:16
我正在使用Kitware。VTK工具包在3d中显示2d图像。
我在byte[]中有image。我想在Kitware的renderviewcontrol中显示它。VTK使用vtkImageviewer。我对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
只是关于字节数组的图像尺寸的信息。您还应该确保GCHandle
和vtkImageData
对象没有被GC
清除。
根据您的数据,可能需要设置Origin
和Spacing
。