QVTKWidget控件显示二维图片

发布时间:2021-10-18 14:05:55

QVTKWidget控件不是QT中默认控件,需要手动编译。用CMAKE编译VTK过程中,需要选择VTK支持QT。网络上有很多教程,不再重复了。但有一点要提醒大家:只需要将Release版本中QVTKWidgetPlugin.dll 和 QVTKWidgetPlugin.lib放在designer文件夹下就可以了,QVTK.dll不需要放入该文件夹下,否则会出现qwidget: must construct a qapplication before a qpaintde 错误,因为Release与Debug中DLL混合在一起。


vtkImageViewer2适合于图像显示,对vtkActor, vtkRender等已经做了封装。
测试代码如下:


m_pImageViewer = vtkSmartPointer< vtkImageViewer2 >::New();
m_pRenderder = vtkSmartPointer< vtkRenderer >::New();//渲染场景
// 设置m_QVTKWidget的渲染器
ui->m_QVTKWidget->GetRenderWindow()->AddRenderer(m_pRenderder);
// 用vtkJPEGReader读取JPG图像
vtkSmartPointer reader = vtkSmartPointer::New();
reader->SetFileName(fileName_str);
// 将reader的输出作为m_pImageViewer的输入,并设置m_pImageViewer与渲染器m_pRenderer的关联
m_pImageViewer->SetInput(reader->GetOutput());
m_pImageViewer->UpdateDisplayExtent();
m_pImageViewer->SetRenderWindow(ui->m_QVTKWidget->GetRenderWindow());//设置为同一个渲染窗口
m_pImageViewer->SetRenderer(m_pRenderder);//设置渲染场景
m_pImageViewer->SetupInteractor(ui->m_QVTKWidget->GetRenderWindow()->GetInteractor());//交互方式
m_pImageViewer->SetSliceOrientationToXY(); //默认就是这个方向的
m_pImageViewer->GetImageActor()->InterpolateOff();
m_pRenderder->ResetCamera();
m_pRenderder->DrawOn();
ui->m_QVTKWidget->GetRenderWindow()->Render();//自动绘制出图像

QVTKWidget显示二维图片效果如下图,在基于QT开发的数字图像处理软件中显示,并同时读取图片的尺寸,图像深度和通道数等基本属性。


相关文档

  • java界面布局举例,Java中五种界面布局类和实际中的使用
  • 2020年甘肃普通高校招生第二次志愿填报9月4日开始
  • 上班族夏季“防火”吃点西洋参 夏季进补增强免疫宜用西洋参
  • 苹果手机4S一开始怎么设置新机
  • 做完人流后外阴痒是怎么回事
  • 精选银行委托书锦集8篇
  • 新冠疫情期间个人工作总结范文
  • 照片怎么打包发给别人
  • 中秋小报手抄报图片内容大全
  • 广告设计与制作专业就业前景
  • 小汽车租赁合同范本简易3篇
  • 怀孕1个月有什么症状注意哪些事项
  • 什么牌子的眼膜去眼袋效果好
  • 初二写景作文秋天
  • 记录一个Elasticsearch的坑 “doc_count_error_upper_bound“ : -1
  • 2020年上半年河北软考报名时间预测:3-4月份
  • elasticsearch集群搭建
  • 二年级上学期体育工作计划
  • 三星手机开机密码忘记怎么办
  • 三国简雍是怎么死的
  • 怎样关闭苹果手机允许打开外部应用的程序
  • 华为c8815换屏教程讲解【详解】
  • 关于员工的劳动合同范文最新合集
  • 2021年有特色的节约用水口号43条
  • 有个性的小学自我介绍
  • 经期吃甜食会长胖吗经期吃东西真的不会胖吗
  • 朋友圈一条直线是什么意思
  • windows上传文件到ubuntu
  • 小学一年级班会主题精编汇总大全
  • 我的梦想地方-mydreamplace
  • 猜你喜欢

    电脑版