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

VTK 实例29:多个灰度图像合成一个彩色图像(颜色合成)

时间:2026-01-29 09:25:16

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 <vtkImageAppendCponents.h> 8 #include <vtkImageCanvasSource2D.h> 9 #include <vtkRenderWindoh> 10 #include <vtkRenderWindowInteractor.h> 11 #include <vtkInteractorStyleImage.h> 12 #include <vtkRenderer.h> 13 #include <vtkJPEGReader.h> 14 #include <vtkImageActor.h> 15 16 int main(int, char *[]) 17 ; 77 double greenViewport[4] = ; 78 double blueViewport[4] = ; 79 double cbinedViewport[4] = ; 80 81 // Setup renderers 82 vtkSmartPointer<vtkRenderer> redRenderer = 83 vtkSmartPointer<vtkRenderer>::New(); 84 redRenderer>SetViewport(redViewport); 85 redRenderer>AddActor(redActor); 86 redRenderer>ResetCamera(); 87 redRenderer>SetBackground(1.0, 1.0, 1.0); 88 89 vtkSmartPointer<vtkRenderer> greenRenderer = 90 vtkSmartPointer<vtkRenderer>::New(); 91 greenRenderer>SetViewport(greenViewport); 92 greenRenderer>AddActor(greenActor); 93 greenRenderer>ResetCamera(); 94 greenRenderer>SetBackground(1.0, 1.0, 1.0); 95 96 vtkSmartPointer<vtkRenderer> blueRenderer = 97 vtkSmartPointer<vtkRenderer>::New(); 98 blueRenderer>SetViewport(blueViewport); 99 blueRenderer>AddActor(blueActor); 100 blueRenderer>ResetCamera(); 101 blueRenderer>SetBackground(1.0, 1.0, 1.0); 102 103 vtkSmartPointer<vtkRenderer> cbinedRenderer = 104 vtkSmartPointer<vtkRenderer>::New(); 105 cbinedRenderer>SetViewport(cbinedViewport); 106 cbinedRenderer>AddActor(cbinedActor); 107 cbinedRenderer>ResetCamera(); 108 cbinedRenderer>SetBackground(1.0, 1.0, 1.0); 109 110 vtkSmartPointer<vtkRenderWindow> renderWindow = 111 vtkSmartPointer<vtkRenderWindow>::New(); 112 renderWindow>AddRenderer(redRenderer); 113 renderWindow>AddRenderer(greenRenderer); 114 renderWindow>AddRenderer(blueRenderer); 115 renderWindow>AddRenderer(cbinedRenderer); 116 renderWindow>SetSize(1200, 300); 117 renderWindow>Render(); 118 renderWindow>SetWindowName("ImageAppendCponentsExample"); 119 120 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = 121 vtkSmartPointer<vtkRenderWindowInteractor>::New(); 122 vtkSmartPointer<vtkInteractorStyleImage> style = 123 vtkSmartPointer<vtkInteractorStyleImage>::New(); 124 125 renderWindowInteractor>SetInteractorStyle(style); 126 renderWindowInteractor>SetRenderWindow(renderWindow); 127 renderWindowInteractor>Initialize(); 128 renderWindowInteractor>Start(); 129 130 return EXIT_SUCCESS; 131 }



上一篇:VTK 实例37:梯度算子(边缘检测)
下一篇:VTK 实例47:理想高通滤波器(频域处理)
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种方法技巧

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