how can I convert 2d images to a 3d image?

234 views (last 30 days)
sara
sara on 14 Sep 2014
Commented: Image Analyst on 9 Sep 2021
I have a CT scan file with 51 slices...how can I make a 3d image with this 51 slices?
Is there any toolbox in matlab for this?
I attached this file.
  7 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 14 Sep 2014
You can use cat()
image3d = cat(3, slice1, slice2, slice3, slice4);
or in a loop where you read in each slice
array3d = zeros(rows, columns, numberOfSlices);
for slice = 1 : numberOfSlices
filename = spritnf('image #%d', slice);
fullFileName = fullfile(folder, filename);
if exist(fullFileName, 'file)
thisSlice = imread(fullFileName);
array3d(:,:,slice) = thisSlice;
end
end
or if you don't know the number of slices in advance,
thisSlice = imread(filename);
if slice == 1
array3d = thisSlice
else
array3d = cat(3, array3d, thisSlice);
end
  24 Comments
Image Analyst
Image Analyst on 9 Sep 2021
Patil, if you've studied medical reconstruction you know a reconstructed image is not merely the sub of rotates images. You have to extrude or "back project" the images before you add them. You are not doing that part so you will not get a reconstruction. Sorry, but writing a 3-D reconstruction algorithm is way beyond what I can offer you. There are people who's whole full time job is working on those kinds of algorithms.

Sign in to comment.

More Answers (1)

Rekha Nair
Rekha Nair on 14 Oct 2015
how can i create a 3d image by using one Plane image(X and Y cordinates) and an oblique view of the same image.
  4 Comments
Image Analyst
Image Analyst on 19 Sep 2017
If there are shadows, you have a chance. See this overview of "shape from shading" http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74.7754&rep=rep1&type=pdf
Also see papers here: Vision Bibliography

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!