VTK中实现图像翻转

时间:2021-06-27 09:25:10

    关于实现图像的翻转,最简单的方法就是使用a)vtkImageFlip类(见参考资料[1][2][3]);根据参考资料[6][7]的提示,可以通过设置b)vtkCamera来实现;此外,还可以同通过使用c)vtkImageActor的RotateX(),RotateY()以及RotateZ()来实现。不同的实现方法,其效果是有差异的。

1 vtkImageFlip

    要实现图像的翻转,最简单的就是使用vtkImageFlip类,具体使用方法见参考资料[1][2][3][4],这里略去。

2 vtkCamera

    关于通过设置vtkCamera来实现翻转,可见《VTK相机参数》。

3 vtkImageActor

    根据参考资料[6]的提示,可以通过下面的设置实现上下翻转

m_pvtkImageActor->SetOrigin( m_pvtkImageActor->GetCenter() );
m_pvtkImageActor->RotateX( 180 );
    同理,可以通过使用下面的设施实现水平翻转

m_pvtkImageActor->SetOrigin( m_pvtkImageActor->GetCenter() );
m_pvtkImageActor->RotateY( 180 );
4 总结
    比较上述的3中方法,第3种比较灵活,比较容易实现交互翻转。

参考资料

[1]vtkImageFlip实现图像翻转 ITK读图VTK显示

[2]vtkImageFlip对VTK读入图像进行翻转

[3]VTK/Examples/Cxx/Images/Flip

[4]DICOM images flipped ITK-VTK

[5]ITK+VTK image upside down

[6]Flipping the image with vtkCamera::Yaw() makes image disappear

[7]Flipping the Y axis in vtk

[8]ITK/Examples/Images/FlipImageFilter