Python 官方文档:入门教程 => 点击学习
目录主要函数介绍效果展示前言: VTK,(visualizationtoolkit)是一个开放资源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理
前言:
VTK,(visualizationtoolkit)是一个开放资源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用c++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和python各种语言使用vtk。
vtk.vtkJPEGReader(): 读取图片的接口,可以通过该接口设置读取的图片位置、大小、维度。需要注意的是,如果需要将一列二维图片读取成一个三维图像需要将一些图片命名成自然顺序0、1、2、3···,这样VTK才能正确的读取图片。如果需要读取其他格式的图片只需要将函数中的JPEG换成对应的格式即可,如PNG。
vtk.vtkMarchingCubes(): 三维重建函数,MarchinGCubes算法实际上是一个分而治之的方法,因为其将等值面的抽取分布于每一个体素(voxel)中进行。对于每个被处理的体素,以三角面片来逼近其内部的等值面。每个体素是一个小立方体(cube),在构造三角面片的处理过程中对每个体素都“扫描”一遍,就好像是一个处理器在这些体素上移动一样,也因此而得名。··在等值面抽取的过程中将一系列二维切片数据看做是一个三维的数据场,从中将具有某种阈值的物质抽取出来,以某种拓扑形式连接成三角面片,所以MC算法也被称为“等值面提取”(IsosurfaceExtraction)算法。··在医学应用上,采用MC算法可以重建人体外部轮廓、内部组织器官,使医生能够直接在三维图像上观察感兴趣的器官与周围组织的空间关系。
import vtk
# 定义渲染窗口、交互模式
aRender = vtk.vtkRenderer()
Renwin = vtk.vtkRenderWindow()
Renwin.AddRenderer(aRender)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(Renwin)
# 定义个图片读取接口
#读取PNG图片就换成PNG_Reader = vtk.vtkPNGReader()
Jpg_Reader = vtk.vtkJPEGReader()
Jpg_Reader.SetNumberOfScalarComponents(1)
Jpg_Reader.SetFileDimensionality(3) # 说明图像是三维的
# 定义图像大小,本行表示图像大小为(512*512*240)
Jpg_Reader.SetDataExtent(0, 512, 0, 512, 0, 240)
# 设置图像的存放位置
Jpg_Reader.SetFilePrefix("E:/outer/label/5/")
# 设置图像前缀名字
#表示图像前缀为数字(如:0.jpg)
Jpg_Reader.SetFilePattern("%s%d.jpg")
Jpg_Reader.Update()
Jpg_Reader.SetDataByteOrderToLittleEndian()
# 计算轮廓的方法
contour = vtk.vtkMarchingCubes()
contour.SetInputConnection(Jpg_Reader.GetOutputPort())
contour.ComputeNORMalsOn()
contour.SetValue(0, 255)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(contour.GetOutputPort())
mapper.ScalarVisibilityOff()
actor = vtk.vtkActor()
actor.SetMapper(mapper)
renderer = vtk.vtkRenderer()
renderer.SetBackground([0.1, 0.1, 0.5])
renderer.AddActor(actor)
window = vtk.vtkRenderWindow()
window.SetSize(512, 512)
window.AddRenderer(renderer)
interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(window)
# 开始显示
window.Render()
interactor.Initialize()
interactor.Start()
到此这篇关于Python-VTK批量读取二维切片并显示三维模型的文章就介绍到这了,更多相关Python-VTK读取二维切片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python-VTK批量读取二维切片并显示三维模型
本文链接: https://www.lsjlt.com/news/117375.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0