VTK 图像融合
效果图
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New(); reader->SetFileName( "d:/h1.jpg" ); reader->Update(); vtkSmartPointer<vtkImageCanvasSource2D> back = vtkSmartPointer<vtkImageCanvasSource2D>::New(); back->SetNumberOfScalarComponents(1); back->SetScalarTypeToUnsignedChar(); back->SetExtent(0, 512, 0, 512, 0, 0); back->SetDrawColor(0.0); back->FillBox(0, 512, 0, 512); back->SetDrawColor(255); back->FillBox(100, 400, 100, 400); back->Update(); vtkSmartPointer<vtkImageBlend> blend = vtkSmartPointer<vtkImageBlend>::New(); blend->AddInputData((vtkDataObject*)reader->GetOutput()); blend->AddInputData((vtkDataObject*)back->GetOutput()); blend->SetOpacity(0, 0.7); blend->SetOpacity(1, 0.3); blend->Update(); double leftview[4] = {0,0, 0.33,1}; double midview[4] = {0.33,0, 0.66,1}; double rightview[4] = {0.66,0, 1.0,1}; vtkSmartPointer<vtkImageActor> actor1 = vtkSmartPointer<vtkImageActor>::New(); actor1->GetMapper()->SetInputConnection(reader->GetOutputPort()); pRenderer->AddActor(actor1); pRenderer->SetViewport(leftview); pRenderer->ResetCamera(); pRenderer->SetBackground(1,0,0); vtkSmartPointer<vtkImageActor> actor2 = vtkSmartPointer<vtkImageActor>::New(); actor2->GetMapper()->SetInputConnection(back->GetOutputPort()); vtkSmartPointer<vtkRenderer> render2 = vtkSmartPointer<vtkRenderer>::New(); render2->SetViewport(midview); render2->AddActor(actor2); render2->ResetCamera(); render2->SetBackground(0,1,0); vtkSmartPointer<vtkImageActor> actor3 = vtkSmartPointer<vtkImageActor>::New(); actor3->GetMapper()->SetInputConnection(blend->GetOutputPort()); vtkSmartPointer<vtkRenderer> render3 = vtkSmartPointer<vtkRenderer>::New(); render3->SetViewport(rightview); render3->AddActor(actor3); render3->ResetCamera(); render3->SetBackground(0,0,1); pRenderWindow->AddRenderer(pRenderer); pRenderWindow->AddRenderer(render2); pRenderWindow->AddRenderer(render3); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!