convert 3d image to 2d images
19 views (last 30 days)
Show older comments
khaled alsaih
on 17 Dec 2017
Commented: Image Analyst
on 30 Oct 2018
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
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!