VTK读取序列JPG图片MC算法进行三维重建
2016-11-10 15:18
627 查看
VTK读取序列JPG图片用MC算法进行三维重建,JPG图片是用底层代码插值生成
JPG图片的读取可参考:VTK序列图像的读取[转][改] - vranger - 博客园 https://www.cnblogs.com/vranger/p/3821476.html点击打开链接
#include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkJPEGReader.h> #include <vtkMarchingCubes.h> #include <vtkStripper.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkProperty.h> #include <vtkOutlineFilter.h> #include <vtkSmartPointer.h> #include <vtkCamera.h> void main() { vtkSmartPointer<vtkRenderer>ren=vtkSmartPointer<vtkRenderer>::New(); vtkSmartPointer<vtkRenderWindow>renWin=vtkSmartPointer<vtkRenderWindow>::New(); renWin->AddRenderer(ren); vtkSmartPointer<vtkRenderWindowInteractor>iren=vtkSmartPointer<vtkRenderWindowInteractor>::New(); iren->SetRenderWindow(renWin); vtkSmartPointer<vtkJPEGReader>Reader=vtkSmartPointer<vtkJPEGReader>::New(); Reader->SetDataScalarTypeToUnsignedChar(); Reader->SetFileDimensionality(3); Reader->SetFilePrefix("E:\\JPG\\rgb"); Reader->SetFileNameSliceSpacing(1); Reader->SetFilePattern("%s%d.jpg"); Reader->SetDataExtent( 0, 200, 0, 400, 1,9); Reader->SetDataSpacing(1,1,10); Reader->Update(); vtkSmartPointer<vtkMarchingCubes>marchingcube=vtkSmartPointer<vtkMarchingCubes>::New(); marchingcube->SetInput((vtkDataSet *)Reader->GetOutput()); //marchingcube->SetInputConnection(Reader->GetOutputPort()); //第二种读取数据的方法 marchingcube->SetValue(0,200); vtkSmartPointer<vtkStripper>Stripper=vtkSmartPointer<vtkStripper>::New(); Stripper->SetInput( marchingcube->GetOutput()); vtkSmartPointer<vtkPolyDataMapper>polyMapper=vtkSmartPointer<vtkPolyDataMapper>::New(); polyMapper->SetInput(Stripper->GetOutput()); polyMapper->ScalarVisibilityOff(); vtkSmartPointer<vtkActor>actor=vtkSmartPointer<vtkActor>::New(); actor->SetMapper(polyMapper); actor->GetProperty()->SetDiffuseColor(1,0.19,0.15); actor->GetProperty()->SetSpecular(0.1); actor->GetProperty()->SetSpecularPower(10); actor->GetProperty()->SetColor(1,0,0); vtkSmartPointer<vtkOutlineFilter>outlinefilter=vtkSmartPointer<vtkOutlineFilter>::New(); outlinefilter->SetInputConnection(Reader->GetOutputPort()); vtkSmartPointer<vtkPolyDataMapper>outlineMapper=vtkSmartPointer<vtkPolyDataMapper>::New(); outlineMapper->SetInputConnection(outlinefilter->GetOutputPort()); vtkSmartPointer<vtkActor>outlineActor=vtkSmartPointer<vtkActor>::New(); outlineActor->SetMapper(outlineMapper); outlineActor->GetProperty()->SetColor(0,0,0); vtkSmartPointer<vtkCamera>aCamera=vtkSmartPointer<vtkCamera>::New(); aCamera->SetViewUp(0,0,-1); aCamera->SetPosition(0,1,0); aCamera->SetFocalPoint(0,0,0); aCamera->ComputeViewPlaneNormal(); ren->AddActor(actor); ren->AddActor(outlineActor); ren->SetActiveCamera(aCamera); ren->ResetCamera(); aCamera->Dolly(1.5); ren->SetBackground(1,1,1); renWin->SetSize(640,640); ren->ResetCameraClippingRange(); iren->Initialize(); iren->Start(); }
JPG图片的读取可参考:VTK序列图像的读取[转][改] - vranger - 博客园 https://www.cnblogs.com/vranger/p/3821476.html点击打开链接
相关文章推荐
- VC++ VTK 读取序列CT图片三维重建
- VTK读取序列的Dicom医学图片,用Marchingcube进行重建,并保存为obj文件
- vtk读取序列医学Dicom图片进行体绘制(vtkVolumeRayCastCompositeFunction类)
- 用VTK实现CT图片的三维重建过程
- VTK读取DICOM医学图片进行体绘制的几种方法
- Marching Cube(C++ OpenGl代码)读取医学三维图像*.raw进行三维重建
- VTK:读取raw图片格式进行体绘制
- VTK三维重建(1)-使用VTK读取DICOM,并动态输出
- python+opencv实现基于图片序列的三维重建
- 如何进行JPG图片的存入及读取
- VTK 点云重建和读取.txt文档显示三维点云
- VTK三维重建(1)-使用VTK读取DICOM,并动态输出
- java将图片缩放实现类(能将jpg、bmp、png、gif图片文件,进行等比或非等比的大小转换)
- VS2008、QT及VTK实现DICOM图像三维重建之三:Win32工程配置
- JS图片轮播器,从数据库读取图片进行轮播
- asp.net 读取远程图片进行编辑后输出
- 如何打开并读取图片序列
- 以二进制进行存储和读取图片
- perl,读取所需文件的路径,然后打开相应的文件,并对文件中的DNA序列进行计数,substr函数对长字符串的片段化处理功能
- VTK 三维重建 面绘制