Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Matlab中将多个2D图像堆叠为3D

我有25张2D图像(大小相等),每张图像代表均匀分布的一层。每个图像都是灰度和黑色(或导入后在数据矩阵中等于0的值)是需要删除的背景。

我的问题是:
  • 如何将这25张图像合并为一张3D图像?如何在每一个之间画一些间距?
  • 如何去除背景色?是否可以创建某种色标,其中等于0的值将是透明的?
一些其他数据:
  • 这些图像为DCM格式(DICOM图像),我使用dicomread函数导入它们。
  • 每个图像(320x320 px)代表一层4毫米厚,层之间的间距为1.2毫米。我们可以假设每个图像的宽度约为120-125毫米

回答:

2D转换为3D矩阵:

>> a = magic(3) a = 8 1 6 3 5 7 4 9 2 >> b = ones(3) b = 1 1 1 1 1 1 1 1 1 >> c = zeros(3) c = 0 0 0 0 0 0 0 0 0 >> d(:,:,1)= a d = 8 1 6 3 5 7 4 9 2 >> d(:,:,2)= b d(:,:,1) = 8 1 6 3 5 7 4 9 2 d(:,:,2) = 1 1 1 1 1 1 1 1 1 >> d(:,:,3)= c d(:,:,1) = 8 1 6 3 5 7 4 9 2 d(:,:,2) = 1 1 1 1 1 1 1 1 1 d(:,:,3) = 0 0 0 0 0 0 0 0 0 透明度:

将透明体素设置为NaN的值。大多数图形只是将NaN留为空白空间。

相关项目

您可能对SliceOMatic感兴趣

我在MathWorks的第一个项目是一个与您相似的演示 。它是从平面切片(未配准)重建3-D实体。大部分工作在注册中。

这也是一个相关的项目 ,可能也很有趣。



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.