convert 3d image to 2d images

54 views (last 30 days)
i have image with size of 1024*512*128 where 128 is the number of slices in the volume how can i get the 2d images and save it into .png and how to get them back thanks for your kind help

Accepted Answer

Image Analyst
Image Analyst on 17 Dec 2017
Try something like this
[rows, columns, numberOfSlices] = size(image3d);
for slice = 1 : numberOfSlices
thisSlice = image3d(:,:, slice);
baseFileName = sprintf('Slice %d.png', slice);
fullFileName = fullfile(folder, baseFileName);
imwrite(thisSlice, fullFileName);
end
To get them back, use imread(). To tack onto a 3D image, use cat(3, image3d, thisSlice).
  4 Comments
M. Siyabend KAYA
M. Siyabend KAYA on 30 Oct 2018
How can we use the Permute command for converting 3D to 2D?
Image Analyst
Image Analyst on 30 Oct 2018
permute() does not do that. It basically just rotates the 3D volume so that rows are now columns, etc.

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!