MATLAB生成三维体数据


by HPC_ZY


之前写了医学影像三维重建的文章,许多小伙伴都来问测试数据的model是怎么生成的。这个其实是MATLAB基础,但由于询问的人太多,就在这里统一回复了。


一、三维体数据的生成

其实三维体数据本质就是三维矩阵、三维数组,最简单的就是把值一个个存进去。

% M,N,D 是长宽高,请按照你自己的数据设置
model = zeros(M,N,D);
for i = 1:M
	for j = 1:N
		for k = 1:D
		% ai是某个想设定的值,请用具体值代替此处的ai
		model(i,j,k) = ai; 
		end
	end
end

二、多二维矩阵生成三维体数据

  1. 赋值法
% M,N,D 是长宽高,请按照你自己的数据设置
model = zeros(M,N,D);
for k = 1:D
	% Ai是某个想存入的二维矩阵,请用具体矩阵代替此处的Ai
	% 每个Ai尺寸必须一致
	model(:,:,k) = Ai; 
end
  1. 拼接法
% Ai是某个想存入的二维矩阵,请用具体矩阵代替此处的Ai 
% 每个Ai尺寸必须一致
model = cat(3,A1,A2,...,Ai,...,An); 

三、多二维图像生成三维体数据

假设你有很多二维切片图像,想生成三维体数据。

% M,N,D 是长宽高,请按照你自己的数据设置
model = zeros(M,N,D); 
for k = 1:D
	% 请使用你自己的图片名,替代此处的filename
	im = imread(filename); 
	% 如果你的图像是彩色时,需要加入下一句;如不是,请删去。
	im= rgb2gray(im); 
	model(:,:,k) = im; 
end

关于如何在循环中修改文件名(filename)方法,假如我的图像命名为
test1.jpg
test2.jpg

test86.jpg.
test87.jpg
则方法如下:

% 此处的k为上述代码中的迭代变量
filename = ['test',num2str(k),'.jpg'];

四、DICOM序列生成三维体数据

DICOM序列的读取与数字体模重建

五、其他

当然有时你也能直接获得三维体数据(别人给的,或网上下载的)。
此时只需要根据该数据的类型,使用相应的读取方法(百度)即可,如:
.mat
.vtk
.raw

  • 14
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值