Vtk读取并显示保存图像
2013-09-27 10:25
936 查看
(1):Vtk读取并显示图像:三种方法
转载:未知出处
包含的头文件:
使用vtkImageMapper和vtkAcotor2D来实现
结果:
方法二:
使用vtkImageActor类,不需要用vktImageMaper
(2):VTK保存图片
转载:未知出处
转载:用VTK显示平面图片:/article/10721867.html
用到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保存图片
相关文章推荐
- C# 保存图像文件到SQL SERVER数据库,再读取该文件并显示
- OpenCV对图像进行读取→显示→保存的源码!
- 【python图像处理】图像的读取、显示与保存
- C# 保存图像文件到SQL SERVER数据库,再读取该文件并显示
- OpenCV for python 之图像读取、显示、保存
- IDL读取显示保存图像(李英冰老师教程)
- Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
- Class01 对图像的操作(读取,显示,修改,保存)
- 【OpenCV学习笔记】三、图像读取、显示及保存
- opencv 图像的读取显示和保存
- opencv读取、显示、保存图像
- openCV-Python笔记一:图像的读取、显示和保存
- openCV-Python笔记一:图像的读取、显示和保存
- python数字图像处理(2):图像的读取、显示与保存
- python数字图像处理(2):图像的读取、显示与保存
- Qt从指定目录读取图像文件保存并在QLabel上不断显示Demo
- OpenCV(C++版)图像读取,创建,复制,保存,显示
- OpenCV中读取,显示,保存图像
- 图像的读取,显示与保存
- 图像读取显示保存操作