Saving an array of images as an 'Image Stack'

150 ビュー (過去 30 日間)
Jason
Jason 2016 年 11 月 1 日
コメント済み: Cody Crosby 2021 年 9 月 15 日
Hi.
I obtain grayscale image' 'img' that I add to a 'stack' i.e. image array by:
imgArray{index}=img
So If I have say 5 images in the imgArray, I have been saving them to disk by writing them out individually as tifs via:
prefix=get(handles.editSaveName,'String');
for k=1:5
imwrite(imgArray{k},sprintf('%s\\%s%04d.tif',folder,prefix,k));
end
BUT, I want the option to say the array of images as a single file i.e. an image stack. I thought the following would do it
try
imwrite(imgArray,sprintf('%s\\%s.stk',folder,prefix));
catch
h = errordlg('Error Saving Image STK')
end
But it always fails. Is there an obvious error?
Thanks
Jason

回答 (1 件)

Jan
Jan 2016 年 11 月 1 日
According to the matlab documentation you can store multiple images to a single file as follows:
imwrite(im1,'myMultipageFile.tif')
imwrite(im2,'myMultipageFile.tif','WriteMode','append')
See https://www.mathworks.com/help/matlab/ref/imwrite.html --> Write Multiple Images to TIFF File.
  11 件のコメント
Yael Grossman
Yael Grossman 2021 年 3 月 8 日
@Lili Xu@Sai Sirish Gokavarapu The bug in the code is that you're chaning the file name for each iteration
for x = 1 : frames
imwrite(vid(:,:,:,x),'All_frames.tif', 'Compression', 'none','WriteMode', "append");
end
Cody Crosby
Cody Crosby 2021 年 9 月 15 日
Thank you Yael! That worked perfectly for me.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by