vtk实战(四十七)——写入tif格式

来源:互联网 发布:路由器mac地址查询 编辑:程序博客网 时间:2024/06/03 11:00
#include <vtkImageData.h>#include <vtkInteractorStyleImage.h>#include <vtkTIFFWriter.h>#include <vtkSmartPointer.h>#include <vtkImageCanvasSource2D.h>#include <vtkRenderWindow.h>#include <vtkRenderWindowInteractor.h>#include <vtkRenderer.h>#include <vtkImageActor.h>#include <vtkImageMapper3D.h>#include <vtkTIFFReader.h>int main(){    std::string filename = "output.tif";    vtkSmartPointer<vtkImageCanvasSource2D> imageSource =        vtkSmartPointer<vtkImageCanvasSource2D>::New();    imageSource->SetScalarTypeToUnsignedChar();    imageSource->SetExtent(0, 9, 0, 9, 0, 0);    imageSource->SetNumberOfScalarComponents(3);    imageSource->SetDrawColor(0, 0, 0, 0);    imageSource->FillBox(0, 9, 0, 9);    imageSource->SetDrawColor(255, 0, 0, 0);    imageSource->FillBox(5, 7, 5, 7);    imageSource->Update();    vtkSmartPointer<vtkTIFFWriter> tiffWriter =        vtkSmartPointer<vtkTIFFWriter>::New();    tiffWriter->SetFileName(filename.c_str());    tiffWriter->SetInputConnection(imageSource->GetOutputPort());    tiffWriter->Write();    vtkSmartPointer<vtkTIFFReader> reader =        vtkSmartPointer<vtkTIFFReader>::New();    reader->SetFileName(filename.c_str());    reader->Update();    vtkSmartPointer<vtkImageActor> actor =        vtkSmartPointer<vtkImageActor>::New();    actor->GetMapper()->SetInputConnection(reader->GetOutputPort());    vtkSmartPointer<vtkRenderer> renderer =        vtkSmartPointer<vtkRenderer>::New();    renderer->AddActor(actor);    renderer->ResetCamera();    vtkSmartPointer<vtkRenderWindow> renderWindow =        vtkSmartPointer<vtkRenderWindow>::New();    renderWindow->AddRenderer(renderer);    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =        vtkSmartPointer<vtkRenderWindowInteractor>::New();    vtkSmartPointer<vtkInteractorStyleImage> style =        vtkSmartPointer<vtkInteractorStyleImage>::New();    renderWindowInteractor->SetInteractorStyle(style);    renderWindowInteractor->SetRenderWindow(renderWindow);    renderWindowInteractor->Initialize();    renderWindowInteractor->Start();    return 0;}

result

0 0
原创粉丝点击