我想让500张1024*500的二维图堆叠成一张1024*500*500的三维图。
在网上找了好几天,不是运行不了,就是跟我想要的结果不一样。
所以我就自己编写了一个matlab代码
%% 二维图堆叠成三维图
clear all;close all;clc;
imgPath0 = ''; % 原图文件夹
imgDir0 = dir([imgPath0 '*.png']); % 读取文件
nameCell0 = cell(length(imgDir0),1);
for i = 1:length(imgDir0)
nameCell0{i} = imgDir0(i).name;
end
d0 = sort_nat(nameCell0); %排序
G=zeros(1024,500,500);
for i=1:500
img = imread([imgPath0 char(d0(i))]);
img=img(:,:,1);
G(:,:,i)=img;
end
G = isosurface(G, 0.99);
stlwrite('three_D.stl',G);
代码中stlwrite函数来自下面这个链接
matlab如何转换成STL三D打印文件 – MATLAB中文论坛 (ilovematlab.cn)
结果不方便展示