本文主要是介绍.mhd是VTK中的一种三维体数据格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对于一个data\\brain.mhd文件。
它代表一个三维体数据,里面包含着若干个二维切面,这些切面由slice作为索引:
示例代码如下:
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);#include <vtkSmartPointer.h>
#include <vtkImageViewer2.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkMetaImageReader.h>//mhd类图像处理类//测试图像:../data/brain.mhd
int main(int argc, char* argv[])
{vtkSmartPointer<vtkMetaImageReader> reader =vtkSmartPointer<vtkMetaImageReader>::New();//注意:mhd和raw文件要放在同一个文件目录reader->SetFileName("C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\vtk_图像处理学习\\第五章_图像处理\\data\\brain.mhd");reader->Update();vtkSmartPointer<vtkImageViewer2> imageViewer =vtkSmartPointer<vtkImageViewer2>::New();imageViewer->SetInputData(reader->GetOutput());vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New();imageViewer->SetupInteractor(renderWindowInteractor);imageViewer->SetColorLevel(500);//设置窗位为500imageViewer->SetColorWindow(2000);//设置窗宽为2000imageViewer->SetSlice(40);//设置切片索引imageViewer->SetSliceOrientationToXY();//设置切片方向imageViewer->Render();imageViewer->GetRenderer()->SetBackground(1.0, 1.0, 1.0);imageViewer->SetSize(640, 480);imageViewer->GetRenderWindow()->SetWindowName("DisplayImageExample");renderWindowInteractor->Start();return EXIT_SUCCESS;
}
这篇关于.mhd是VTK中的一种三维体数据格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!