mat文件是156*192*25 3D矩阵.数据是mat文件中的一系列n = 25个图像.如何将此3D矩阵转换为25个2D矩阵并独立显示?谢谢〜
我建议不要分割你的图像堆栈,而只是使用I(:,:,3)
,例如你需要第三张图像.
要显示您可以使用的图像:
montage(permute(I,[1,2,4,3]))
Run Code Online (Sandbox Code Playgroud)
一起显示所有图像.需要置换,因为montage
期望156*192*1*25
堆叠的灰度图像,第三维保留用于颜色通道.另外,要显示单个图像,请使用:
imshow(I(:,:,3));
Run Code Online (Sandbox Code Playgroud)
要将每个图像保存到单个mat文件,请使用:
for ix=1:size(I,3)
M=matfile(sprintf('image%03d',ix),'writable',true);
M.image=I(:,:,ix);
end
Run Code Online (Sandbox Code Playgroud)