参考一些资料,而得到的在VTK下用vtkTIFFReader读取tiff图片。代码中仅仅能够实现单张tiff图像的读取和显式。
#include <vtkSmartPointer.h>
#include <vtkImageViewer2.h>
#include <vtkTIFFReader.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
int main(int argc, char* argv[])
{
//Verify input arguments
if ( argc != 2 )
{
std::cout << "Usage: " << argv[0]
<< " Filename(.tif)" << std::endl;
return EXIT_FAILURE;
}
//Read the image
vtkSmartPointer<vtkTIFFReader> reader =
vtkSmartPointer<vtkTIFFReader>::New();
reader->SetFileName ( argv[1] );
// Visualize
vtkSmartPointer<vtkImageViewer2> imageViewer =
vtkSmartPointer<vtkImageViewer2>::New();
imageViewer->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
imageViewer->SetupInteractor(renderWindowInteractor);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
但是为了实现对于一序列tiff图像的读取,并在三维空间中渲染出来呢?
这个现在一直在探索,学习。。。
参考网络上的一些资料:
http://vtk.1045678.n5.nabble.com/3D-Tiff-to-vtkImageData-class-td5607259.html
http://bioimagexd.svn.sourceforge.net/viewvc/bioimagexd/bioimagexd/trunk/vtkBXD/Processing/
http://www.vtk.org/pipermail/vtkusers/2008-June/095731.html
http://public.kitware.com/cgi-bin/viewcvs.cgi/*checkout*/Examples/ImageProcessing/Cxx/ImageSlicing.cxx?root=VTK&content-type=text/plain
但是仍旧没有结果。。。