当前位置: 首页 > 网络知识

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

时间:2026-01-29 09:25:14
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 <vtkRenderWindoh> 8 #include <vtkRenderWindowInteractor.h> 9 #include <vtkInteractorStyleImage.h> 10 #include <vtkRenderer.h> 11 #include <vtkImageActor.h> 12 #include <vtkBMPReader.h> 13 #include <vtkImageShrink3D.h> 14 #include <vtkImageMagnify.h> 15 16 //测试图像:../data/lena.bmp 17 int main(int argc, char* argv[]) 18 ; 75 double shrinkViewport[4] = ; 76 double magnifyViewport[4] = ; 77 78 vtkSmartPointer<vtkRenderer> originalRenderer = 79 vtkSmartPointer<vtkRenderer>::New(); 80 originalRenderer>SetViewport(originalViewport); 81 originalRenderer>AddActor(originalActor); 82 originalRenderer>ResetCamera(); 83 originalRenderer>SetBackground(1.0, 1.0, 1.0); 84 85 vtkSmartPointer<vtkRenderer> shrinkRenderer = 86 vtkSmartPointer<vtkRenderer>::New(); 87 shrinkRenderer>SetViewport(shrinkViewport); 88 shrinkRenderer>AddActor(shrinkActor); 89 shrinkRenderer>ResetCamera(); 90 shrinkRenderer>SetBackground(1.0, 1.0, 1.0); 91 92 vtkSmartPointer<vtkRenderer> magnifyRenderer = 93 vtkSmartPointer<vtkRenderer>::New(); 94 magnifyRenderer>SetViewport(magnifyViewport); 95 magnifyRenderer>AddActor(magnifyActor); 96 magnifyRenderer>ResetCamera(); 97 magnifyRenderer>SetBackground(1.0, 1.0, 1.0); 98 99 vtkSmartPointer<vtkRenderWindow> renderWindow = 100 vtkSmartPointer<vtkRenderWindow>::New(); 101 renderWindow>AddRenderer(originalRenderer); 102 renderWindow>AddRenderer(shrinkRenderer); 103 renderWindow>AddRenderer(magnifyRenderer); 104 renderWindow>SetSize(640, 320); 105 renderWindow>Render(); 106 renderWindow>SetWindowName("ImageShrinkMagnifyExample"); 107 108 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = 109 vtkSmartPointer<vtkRenderWindowInteractor>::New(); 110 vtkSmartPointer<vtkInteractorStyleImage> style = 111 vtkSmartPointer<vtkInteractorStyleImage>::New(); 112 113 renderWindowInteractor>SetInteractorStyle(style); 114 renderWindowInteractor>SetRenderWindow(renderWindow); 115 renderWindowInteractor>Initialize(); 116 renderWindowInteractor>Start(); 117 118 return EXIT_SUCCESS; 119 }



上一篇:VTK 实例42:中值滤波(图像光滑)
下一篇:VTK 实例25:BMP图像像素值的访问与修改
VTK
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素