convert 3d image to 2d images
16 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2017-12-17
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 个评论
Image Analyst
2018-10-30
permute() does not do that. It basically just rotates the 3D volume so that rows are now columns, etc.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!