VTK 实例42:中值滤波(图像光滑)


1 #include "vtkAutoInit.h" 2 VTK_MODULE_INIT(vtkRenderingOpenGL2); 3 VTK_MODULE_INIT(vtkInteractionStyle); 4 5 #include <vtkSmartPointer.h> 6 #include <vtkImageData.h> 7 #include <vtkImageConvolve.h> 8 #include <vtkImageMandelbrotSource.h> 9 #include <vtkRenderWindoh> 10 #include <vtkRenderWindowInteractor.h> 11 #include <vtkInteractorStyleImage.h> 12 #include <vtkRenderer.h> 13 #include <vtkImageActor.h> 14 #include <vtkImageCast.h> 15 #include <vtkJPEGReader.h> 16 #include <vtkImageShiftScale.h> 17 18 //测试图像:../data/lenagray.jpg 19 int main(int argc, char* argv[]) 20 ; 41 convolveFilter>SetKernel5x5(kernel); 42 convolveFilter>Update(); 43 44 vtkSmartPointer<vtkImageCast> convCastFilter = 45 vtkSmartPointer<vtkImageCast>::New(); 46 convCastFilter>SetInputData(convolveFilter>GetOutput()); 47 convCastFilter>SetOutputScalarTypeToUnsignedChar(); 48 convCastFilter>Update(); 49 50 vtkSmartPointer<vtkImageActor> originalActor = 51 vtkSmartPointer<vtkImageActor>::New(); 52 originalActor>SetInputData(reader>GetOutput()); 53 54 vtkSmartPointer<vtkImageActor> convolvedActor = 55 vtkSmartPointer<vtkImageActor>::New(); 56 convolvedActor>SetInputData(convCastFilter>GetOutput()); 57 58 double leftViewport[4] = ; 59 double rightViewport[4] = ; 60 61 vtkSmartPointer<vtkRenderer> originalRenderer = 62 vtkSmartPointer<vtkRenderer>::New(); originalRenderer>SetViewport(leftViewport); 64 originalRenderer>AddActor(originalActor); 65 originalRenderer>SetBackground(1.0, 1.0, 1.0); 66 originalRenderer>ResetCamera(); 67 68 vtkSmartPointer<vtkRenderer> convolvedRenderer = 69 vtkSmartPointer<vtkRenderer>::New(); 70 convolvedRenderer>SetViewport(rightViewport); 71 convolvedRenderer>AddActor(convolvedActor); 72 convolvedRenderer>SetBackground(1.0, 1.0, 1.0); 73 convolvedRenderer>ResetCamera(); 74 75 vtkSmartPointer<vtkRenderWindow> renderWindow = 76 vtkSmartPointer<vtkRenderWindow>::New();; 77 renderWindow>AddRenderer(originalRenderer); 78 renderWindow>AddRenderer(convolvedRenderer); 79 renderWindow>SetSize(640, 320); 80 renderWindow>Render(); 81 renderWindow>SetWindowName("MeanFilterExample"); 82 83 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = 84 vtkSmartPointer<vtkRenderWindowInteractor>::New(); 85 vtkSmartPointer<vtkInteractorStyleImage> style = 86 vtkSmartPointer<vtkInteractorStyleImage>::New(); 87 88 renderWindowInteractor>SetInteractorStyle(style); 89 renderWindowInteractor>SetRenderWindow(renderWindow); 90 renderWindowInteractor>Initialize(); 91 renderWindowInteractor>Start(); 92 93 return EXIT_SUCCESS; 94 }



上一篇:VTK 实例23:DCM医学图像信息的访问(图像维数、原点坐标和像素间隔)

下一篇:VTK 实例33:图像重采样(降和升采样)


VTK
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图