poster
2019-12-10, 20:30
我有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 (http://www.mathworks.com/matlabcentral/fileexchange/764)感兴趣
我在MathWorks的第一个项目是一个与您相似的演示 (http://www.mathworks.com/matlabcentral/fileexchange/1713-three-dimensional-reconstruction-from-planar-slices) 。它是从平面切片(未配准)重建3-D实体。大部分工作在注册中。
这也是一个相关的项目 (http://blogs.mathworks.com/videos/2009/12/11/advanced-making-a-sweeping-slice-through-volume-of-data/) ,可能也很有趣。
更多&回答... (https://stackoverflow.com/questions/2176192)
我的问题是:
如何将这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 (http://www.mathworks.com/matlabcentral/fileexchange/764)感兴趣
我在MathWorks的第一个项目是一个与您相似的演示 (http://www.mathworks.com/matlabcentral/fileexchange/1713-three-dimensional-reconstruction-from-planar-slices) 。它是从平面切片(未配准)重建3-D实体。大部分工作在注册中。
这也是一个相关的项目 (http://blogs.mathworks.com/videos/2009/12/11/advanced-making-a-sweeping-slice-through-volume-of-data/) ,可能也很有趣。
更多&回答... (https://stackoverflow.com/questions/2176192)