已经完成了itk4.6.1,vtk-6.1 编译,环境是vs2013 qt5.3
const char *fileName = "D:\\VS2013projects\\test_itkvtk\\mri1.jpg";
typedef itk::Image<unsigned char, 3> ImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(fileName);
reader->SetImageIO(itk::JPEGImageIO::New());
reader->Update();
1、在itk读取图像中的问题:执行reader->update();出错
方法:只订对reader设置imageIO
添加头#include "itkJPEGImageIO.h"
语句:reader->SetImageIO(itk::JPEGImageIO::New());
注意:文件路径设置必须要const char* 类型,还有双斜杠
typedef itk::ImageToVTKImageFilter<ImageType> ConnectorType;
ConnectorType::Pointer connector = ConnectorType::New();
connector->SetInput(reader->GetOutput());
connector->Update();
vtkSmartPointer<vtkImageViewer2> viewer = vtkSmartPointer<vtkImageViewer2>::New();
viewer->SetInputData(connector->GetOutput());
vtkSmartPointer<vtkRenderWindowInteractor> interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
viewer->SetupInteractor(interactor);
viewer->Render();
interactor->Start();
2、生成vtkImageViewer2的对象出错
方法:添加#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)
即可
2的解决方法是来自网络
http://blog.csdn.net/www_doling_net/article/details/8668870 的15楼楼主回答
表示感谢!