clc;clear all;
Imatrix = []
for i=1:3
images{i} = imread(sprintf('frame-1065.png',i));
Imatrix = cat(3, Imatrix, images{i});
D = Imatrix;
end;
imshow(D)
这是我要运行的代码,但问题是我有2000张图片,但只能显示一张。
我认为您真正想要的是将图像存储为图像堆栈。这将使您可以例如查看图像堆栈ImageJ并滚动浏览,等等。
我会将它们存储为一个单独的tiff文件,并执行类似的操作(请注意,所有图像的大小必须相同):
numOfImages = 2000;
output_filename = 'imgstack.tif';
for k=1:numOfImages
loaded_image = imread(sprintf('frame-%s.png',k));
imwrite(loaded_image, output_filename, 'WriteMode',append','Compression','none');
end
问题是可视化。您可以使用蒙太奇功能查看MxNxP堆栈或单元格阵列,其中每个单元格代表一幅图像。
https://www.mathworks.com/help/images/ref/montage.html
figure, montage(images)
在上面的代码中。
如果您将数据可视化为最新评论中指示的卷,则IPT中的volshow或volumeViewer将执行此操作。
volumeViewer(Imatrix)
figure, volshow(Imatrix)
Imatrix是要在其上执行体积可视化的MxNxP阵列。