(1):Vtk读取并显示图像:三种方法

转载:未知出处

转载:用VTK显示平面图片:http://blog.csdn.net/tonylk/article/details/464881

用到vtkJPEGReader类。

包含的头文件:

#include "vtkActor.h" #include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h" #include "vtkImageViewer.h" #include "vtkJPEGReader.h" #include "vtkImageActor.h"
#include "vtkInteractorStyleImage.h" #include "vtkActor2D.h"  

方法一:

使用vtkImageMapper和vtkAcotor2D来实现

int main(int argc, char **argv)
{
int extent[6];
vtkJPEGReader *m_reader = vtkJPEGReader::New();
m_reader->SetFileName("C:\\Users\\igst\\Documents\\美图图库\\叶.jpg");m_reader->SetDataByteOrderToLittleEndian();
m_reader->SetDataScalarTypeToUnsignedChar();m_reader->SetFileDimensionality(3);
vtkImageMapper *mapper=vtkImageMapper::New();mapper->SetInput(m_reader->GetOutput());
mapper->SetColorLevel(128); mapper->SetColorWindow(256);
vtkActor2D *actor=vtkActor2D::New();
actor->SetMapper(mapper);
vtkRenderer *m_Renderer = vtkRenderer::New();
vtkRenderWindow *m_RenWin = vtkRenderWindow::New();m_RenWin->AddRenderer(m_Renderer);
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(m_RenWin);
vtkInteractorStyleImage *interactor = vtkInteractorStyleImage::New();iren->SetInteractorStyle(interactor); m_Renderer->AddActor(actor);
m_Renderer->SetBackground(0.1, 0.2, 0.4); m_RenWin->Render();
m_reader->GetDataExtent(extent);//如果把这条命令放在Render()的前面则无效
m_RenWin->SetSize(extent[1],extent[3]);
iren->Initialize();
iren->Start();
return 0;} 

结果:
 方法二:

使用vtkImageActor类,不需要用vktImageMaper

int main(int argc, char **argv){
vtkJPEGReader *m_reader = vtkJPEGReader::New();
m_reader->SetFileName("C:\\Users\\igst\\Documents\\美图图库\\荷叶.jpg");
m_reader->SetDataByteOrderToLittleEndian();
m_reader->SetDataScalarTypeToUnsignedChar();
m_reader->SetFileDimensionality(3);
vtkImageActor *m_Actor = vtkImageActor::New();
m_Actor->SetInput(m_reader->GetOutput()); vtkRenderer *m_Renderer = vtkRenderer::New();
vtkRenderWindow *m_RenWin = vtkRenderWindow::New();
m_RenWin->AddRenderer(m_Renderer);
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(m_RenWin);
vtkInteractorStyleImage *interactor = vtkInteractorStyleImage::New();
iren->SetInteractorStyle(interactor); m_Renderer->AddActor(m_Actor);
m_Renderer->SetBackground(0.1, 0.2, 0.4);
m_RenWin->Render();
iren->Initialize();
iren->Start();
return 0;} 方法三:简便快速
使用ImageViewer,需要调节窗宽窗位ImageViewer将 vtkRenderWindow, vtkRenderer, vtkActor2D and vtkImageMapper集成在了一起,
不需要再对vtkRenderWindow, vtkRenderer, vtkActor2D and vtkImageMapper定义。int main() {vtkJPEGReader *image=vtkJPEGReader::New();image->SetFileName("C:\\Users\\igst\\Documents\\美图图库\\竹林.jpg");image->SetDataByteOrderToLittleEndian(); image->SetDataScalarTypeToUnsignedChar();vtkImageViewer *pViewer = vtkImageViewer::New();//显示二维图形  pViewer->SetColorLevel(128);//设置窗宽窗位, pViewer->SetColorWindow(256);pViewer->SetInput(image->GetOutput()); pViewer->Render();vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();  iren->SetRenderWindow(pViewer->GetRenderWindow()); iren->Initialize(); iren->Start();  return 0;} 

(2):VTK保存图片

Vtk读取并显示保存图像相关推荐

  1. python图片保存和图片展示顺序_【IT专家】【 python 】 —— 数据预处理:(1) 读取与显示图片 + 图像通道顺序变换...

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 [ python ] -- 数据预处理: (1) 读取与显示图片 + 图像通道顺 序变换 2018/05/31 29 # ---- 用 OPENC ...

  2. opencv-python教程学习系列2-读取/显示/保存图像

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取.显示以及保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: ...

  3. Python灰度图像和彩色图像的读取、显示。图像求反。

    方法一 #灰度图像和彩色图像的读取.显示.图像求反. #图像库导入 from PIL import Image # numpy约定是别名np import numpy as np#彩色图片位置 D:/ ...

  4. python vtk dicom_Python vtk读取并显示dicom文件示例

    因为做项目的原因,所以接触到了医学图像dicom文件.vtk刚开始看,这里仅仅只是其最简单的读取显示功能.此处用到了vtk库,可自行百度安装方法. 下面附上代码: from vtk import * ...

  5. 用python简单处理图片(1):打开\显示\保存图像

    一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此, ...

  6. python PIL 打开\显示\保存图像

    转自:https://www.cnblogs.com/denny402/p/5096001.html 使用python进行数字图片处理,还得安装Pillow包.虽然python里面自带一个PIL(py ...

  7. python图片保存需要在图片展示后_用python处理图片之打开\显示\保存图像的方法...

    一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此, ...

  8. 用python打开\显示\保存图像

    一.打开图片: from PIL import Image img=Image.open(r'图片路径') img.show() 二.显示图片:(在坐标轴里) from PIL import Imag ...

  9. python image库保存图片_python PIL 打开\显示\保存图像

    使用python进行数字图片处理,还得安装Pillow包.虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由 ...

最新文章

  1. Caffe源码中caffe.proto文件分析
  2. 如何下python 的pⅰl_[Ubuntu] 如何在 Lubuntu 安装 python-spidermonkey
  3. 豆瓣/name-?P=0/事件
  4. Python 之协程
  5. C实现socket编程
  6. python bashplotlib_Matplotlib 中文用户指南 7.2 Python shell 中使用 Matplotlib
  7. mysql本地连接报错1130_mySql连接问题(本地连接加远程连接)
  8. 嵌入式系统系统升级内核双备份的实现方式
  9. liskov替换原则_坚实原则:Liskov替代原则
  10. [渝粤教育] 三江学院 软件测试 参考 资料
  11. ue4如何恢复初始状态_如何解决三菱伺服电机上常见报警代码
  12. 深度学习笔记--单层感知机原理及代码实现
  13. linux基础(Vi编辑器)
  14. LFM回波信号仿真,加汉明窗,可用的matlab代码
  15. python画方波_SciPyTutorial-方波信号fft频谱
  16. 【网络安全】信息收集 CDN绕过方法
  17. hdu 5234-三维背包
  18. python人民币和美元转换
  19. set name utd8_ml utd 8机器学习数据的最新生命
  20. md文件打开错误(Failed to load file)

热门文章

  1. 关于阅读java编程思想和effective java的一些看法
  2. 解锁redis锁的正确姿势
  3. Black Hat 2017黑帽大会:8款值得一看的黑客工具
  4. python scoket、SocketServer简单实现文件上传下载
  5. 注册表 ControlSet001、ControlSet002以及CurrentControlSet
  6. linux中刻录iso到光盘
  7. 【Oracle RAC故障分析与处理】
  8. Centos 6.4使用本地yum源
  9. 如何做好Serv-U安全设置,保护FTP服务器安全
  10. 13/100. Best Time to Buy and Sell Stock