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 <vtkRenderWindow.h>
8 #include <vtkRenderWindowInteractor.h>
9 #include <vtkInteractorStyleImage.h>
10 #include <vtkRenderer.h>
11 #include <vtkImageActor.h>
12 #include <vtkJPEGReader.h>
13 #include <vtkImageLuminance.h>
14 #include <vtkLookupTable.h>
15 #include <vtkImageMapToColors.h>
16
17 //测试图像:../data/lena-gray.jpg
18 int main(int argc, char* argv[])
19 {
20 vtkSmartPointer<vtkJPEGReader> reader =
21 vtkSmartPointer<vtkJPEGReader>::New();
22 reader->SetFileName ( "C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\vtk_图像处理学习\\第五章_图像处理\\data\\lena-gray.jpg" );
23
24 vtkSmartPointer<vtkLookupTable> colorTable =
25 vtkSmartPointer<vtkLookupTable>::New();
26 colorTable->SetRange( 0.0, 255.0 );
27 colorTable->SetHueRange( 0.1, 0.5 );
28 colorTable->SetValueRange( 0.6, 1.0 );
29 colorTable->Build();
30
31 vtkSmartPointer<vtkImageMapToColors> colorMap =
32 vtkSmartPointer<vtkImageMapToColors>::New();
33 colorMap->SetInputConnection( reader->GetOutputPort() );
34 colorMap->SetLookupTable( colorTable );
35 colorMap->Update();
36
37 vtkSmartPointer<vtkImageActor> originalActor =
38 vtkSmartPointer<vtkImageActor>::New();
39 originalActor->SetInputData(reader->GetOutput());
40
41 vtkSmartPointer<vtkImageActor> shiftscaleActor =
42 vtkSmartPointer<vtkImageActor>::New();
43 shiftscaleActor->SetInputData(colorMap->GetOutput());
44
45 double originalViewport[4] = {0.0, 0.0, 0.5, 1.0};
46 double shiftscaleViewport[4] = {0.5, 0.0, 1.0, 1.0};
47
48 vtkSmartPointer<vtkRenderer> originalRenderer =
49 vtkSmartPointer<vtkRenderer>::New();
50 originalRenderer->SetViewport(originalViewport);
51 originalRenderer->AddActor(originalActor);
52 originalRenderer->ResetCamera();
53 originalRenderer->SetBackground(1.0, 1.0, 1.0);
54
55 vtkSmartPointer<vtkRenderer> shiftscaleRenderer =
56 vtkSmartPointer<vtkRenderer>::New();
57 shiftscaleRenderer->SetViewport(shiftscaleViewport);
58 shiftscaleRenderer->AddActor(shiftscaleActor);
59 shiftscaleRenderer->ResetCamera();
60 shiftscaleRenderer->SetBackground(1.0, 1.0, 0.8);
61
62 vtkSmartPointer<vtkRenderWindow> renderWindow =
63 vtkSmartPointer<vtkRenderWindow>::New();
64 renderWindow->AddRenderer(originalRenderer);
65 renderWindow->AddRenderer(shiftscaleRenderer);
66 renderWindow->SetSize(900, 300);
67 renderWindow->Render();
68 renderWindow->SetWindowName("Gray2ColorImageExample");
69
70 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
71 vtkSmartPointer<vtkRenderWindowInteractor>::New();
72 vtkSmartPointer<vtkInteractorStyleImage> style =
73 vtkSmartPointer<vtkInteractorStyleImage>::New();
74
75 renderWindowInteractor->SetInteractorStyle(style);
76 renderWindowInteractor->SetRenderWindow(renderWindow);
77 renderWindowInteractor->Initialize();
78 renderWindowInteractor->Start();
79
80 return EXIT_SUCCESS;
81 }
分类:
VTK
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-08-15 Qt item setZValue() 函数