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

VTK 实例31:灰度图像直方图

时间:2026-01-29 09:25:17
1 #include "vtkAutoInit.h" 2 VTK_MODULE_INIT(vtkRenderingOpenGL2); 3 VTK_MODULE_INIT(vtkInteractionStyle); 4 5 #include <vtkActor.h> 6 #include <vtkBarChartActor.h> 7 #include <vtkFieldData.h> 8 #include <vtkImageAccumulate.h> 9 #include <vtkImageData.h> 10 #include <vtkIntArray.h> 11 #include <vtkJPEGReader.h> 12 #include <vtkLegendBoxActor.h> 13 #include <vtkProperty2D.h> 14 #include <vtkRenderer.h> 15 #include <vtkRenderWindoh> 16 #include <vtkRenderWindowInteractor.h> 17 #include <vtkSmartPointer.h> 18 #include <vtkTextProperty.h> 19 20 //测试图像:../data/lenagray.jpg 21 int main(int argc, char* argv[]) 22 52 } 53 54 vtkSmartPointer<vtkDataObject> dataObject = 55 vtkSmartPointer<vtkDataObject>::New(); 56 dataObject>GetFieldData()>AddArray( frequencies ); 57 58 vtkSmartPointer<vtkBarChartActor> barChart = 59 vtkSmartPointer<vtkBarChartActor>::New(); 60 barChart>SetInput(dataObject); 61 barChart>SetTitle("Histogram"); 62 barChart>GetPositionCoordinate()>SetValue(0.05,0.05,0.0); barChart>GetPosition2Coordinate()>SetValue(0.95,0.95,0.0); 64 barChart>GetProperty()>SetColor(0,0,0); 65 barChart>GetTitleTextProperty()>SetColor(0,0,0); 66 barChart>GetLabelTextProperty()>SetColor(0,0,0); 67 barChart>GetLegendActor()>SetNumberOfEntries(dataObject>GetFieldData()>GetArray(0)>GetNumberOfTuples()); 68 barChart>LegendVisibilityOff(); 69 barChart>LabelVisibilityOff(); 70 71 double colors[3][3] = , 73 , 74 }; 75 76 int count = 0; 77 for( int i = 0; i < bins; ++i ) 78 83 } 84 85 vtkSmartPointer<vtkRenderer> renderer = 86 vtkSmartPointer<vtkRenderer>::New(); 87 renderer>AddActor(barChart); 88 renderer>SetBackground(1.0, 1.0, 1.0); 89 90 vtkSmartPointer<vtkRenderWindow> renderWindow = 91 vtkSmartPointer<vtkRenderWindow>::New(); 92 renderWindow>AddRenderer(renderer); 93 renderWindow>SetSize(640, 480); 94 renderWindow>Render(); 95 renderWindow>SetWindowName("ImageAccumulateExample"); 96 97 vtkSmartPointer<vtkRenderWindowInteractor> interactor = 98 vtkSmartPointer<vtkRenderWindowInteractor>::New(); 99 interactor>SetRenderWindow(renderWindow); 100 101 interactor>Initialize(); 102 interactor>Start(); 103 104 return EXIT_SUCCESS; 105 }



上一篇:VTK 实例39:拉普拉斯算子(边缘检测)
下一篇:VTK 实例49:计算三角网络模型面积、体积
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种方法技巧

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