VTK读取.ply根式并三维显示代码如下:
#define vtkRenderingCore_AUTOINIT 2(vtkRenderingOpenGL2, vtkInteractionStyle)
#include <vtkOBJReader.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSmartPointer.h>
#include <vtkPLYReader.h>
#include <string>
int main()
{
//std::string filename = "Greedy_Delaunay_knee_piece.obj"; //Greedy_Delaunay_knee_piece bunny-5000
//vtkSmartPointer<vtkOBJReader> reader =
// vtkSmartPointer<vtkOBJReader>::New();
//reader->SetFileName(filename.c_str());
//reader->Update();
std::string filename = "Greedy_Delaunay_knee_piece.ply"; //Greedy_Delaunay_knee_piece bunny-5000
vtkSmartPointer<vtkPLYReader> reader =
vtkSmartPointer<vtkPLYReader>::New();
reader->SetFileName(filename.c_str());
reader->Update();
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
renderer->AddActor(actor);
renderer->SetBackground(.3, .6, .3);
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderWindowInteractor->Start();
return 0;
}
VTK读取.obj根式并三维显示代码如下:
#define vtkRenderingCore_AUTOINIT 2(vtkRenderingOpenGL2, vtkInteractionStyle)
#include <vtkOBJReader.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSmartPointer.h>
#include <vtkPLYReader.h>
#include <string>
int main()
{
std::string filename = "Greedy_Delaunay_knee_piece.obj"; //Greedy_Delaunay_knee_piece bunny-5000
vtkSmartPointer<vtkOBJReader> reader =
vtkSmartPointer<vtkOBJReader>::New();
reader->SetFileName(filename.c_str());
reader->Update();
//std::string filename = "Greedy_Delaunay_knee_piece.ply"; //Greedy_Delaunay_knee_piece bunny-5000
//vtkSmartPointer<vtkPLYReader> reader =
// vtkSmartPointer<vtkPLYReader>::New();
//reader->SetFileName(filename.c_str());
//reader->Update();
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(reader->GetOutputPort());
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
renderer->AddActor(actor);
renderer->SetBackground(.3, .6, .3);
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderWindowInteractor->Start();
return 0;
}
参考博文:
在实验和项目中点云数据的存储和展现的方式通常是ply文件,尤其是海量点云数据,但是在PCL程序中处理的常常是pcd文件,因此首先需要使用程序将ply文件转换为pcd文件,再读取pcb对象 ...
参考: https://blog.csdn.net/weixin_34273481/article/details/86272869 http://www.pcl-users.org/Reading-ply-wih-normal-data-td4025845.html Photoneo和zivid两种传感器: Photoneo zivid ...
python dcm图像的读取与显示,vtk jpg,dcm序列图像的读取与显示 小白最近在做有关医学图像处理方面的图像分割与三维重建,其中python提供的vtk,itk库都是功能非常强大的,在此期间也遇到一些问题,解决后记录一下,大家一起学习,希望大神也可以帮忙指点。 1.有关dcm文件的读取与显示 这里我用到了一个归一化函数,因为很多.dcm图像的像素值会超出0-255,归一化之后会方便我们...
在wiki上有对STL图形文件格式的详细描述。 http://en.wikipedia.org/wiki/STL_(file_format) STL文件格式分为两种:ASCII字符格式,及二进制格式。 ASCII字符格式的格式如下: 开头一行: 接下来,是三角片的数据格式: 结束行标志: 二进制格式数据: 因为字符格式的STL文件比较大,占空间,因为有了二进制格式,且二进制的存储格式与ASCII的...
SimpleITK Python中SimpleITK被广泛用于医学图像的处理任务中,功能非常强大,但是使用的时候还需注意,尤其在图像读取时一定要注意维度。 读取NII格式的图像 上面的代码很简单,不多做解释,加入我们在最后加上 如果输出(300,200,120),其中分别表示该三维体数据在Z轴,Y轴,X轴上的尺寸,这和MATLAB以及ImageJ都有点不同,后续处理一定要注意。...
在地震勘探的科学计算中,我们经常用到三维数据体的读写,在MATLAB下怎么读取三维的数据体呢?其实很简单,代码如下:以上就是MATLAB中读取二进制格式的三维数据体的基本方向,希望对大家有用。...
全部VTK程序设计系列博客 见 VTK程序设计系列 mhd文件包含一个.mhd用来存放信息,和一个.raw文件来存放数据。 我们用记事本随便打开一个三维的Mhd文件: 可以看到维数是3,二进制数据,并且是压缩过的数据。三维的每个数据在实际空间中的距离分别为: 0.976562 1.4 0.976562 。 数据的大小是256*230*256的。 我们记住这些数据,然后开始写程序: 注意因...
这个是针对分割后的数据,在VTK窗口可以显示出你想要的部分,然后通过面绘制计算体积。 我实验了一下,能出现结果! ...
1,读取.mha文件 方法有:vtkMetaImageReader() 2,渲染 方法有:vtkRenderer(),vtkRenderWindow() 先创建渲染,再建立渲染窗口 3,交互,如鼠标拖拉旋转。 方法:vtkRenderWindowInteractor() (未完待续) ...
一、3D Tiles来源和介绍 它是Cesium于2016年3月定义的一种三维模式瓦片数据结构,它将海量的三维数据用分块、分层的形式组织起来,很大程度上减轻了浏览器的负担,除此外还提供了细节层次的LOD(Levels of Detail 多细节层次)功能,在远观时,降低模型的面数和精度,拉近后再将细节加载出来,大大增强了页面的加载速度,更可以用于跨桌面使用,使得web端和移动应用程序共享,主要适用...