Is it possible to reconstruct two 2D images (Front side and left side) to 3D image ?
7 views (last 30 days)
Show older comments
Something like these....
0 Comments
Answers (3)
Image Analyst
on 11 Mar 2017
Edited: Image Analyst
on 11 Mar 2017
You can use repmat() to replicate the side image a bunch of times, say N times. Then use bsxfun() to mask the volumetric image with the front view. Here's a start
% Replicate side view N times into 3-D.
image3D = repmat(sideView, [1,1,N]);
% Mask the image.
final3DImage = bsxfun(@times, image3D , cast(frontView, 'like', image3D ));
It might take some adaptation, but that's the basic idea if you have two binary images and want to project in 3-D.
3 Comments
Walter Roberson
on 4 Apr 2017
If you have boundaries extracted at different rotation angles, then your situation should, I suspect, be equivalent to doing CT reconstruction. If I recall correctly, that uses the radon transform; https://www.mathworks.com/discovery/image-reconstruction.html
Dynamic
on 23 Jan 2022
@dhwani contractor can you please share your code for forwarding projection which helped you reconstruct the 2D projection from the 3D object?
Walter Roberson
on 11 Mar 2017
No, it is not. You can see from this demonstration that two side views cannot possibly be enough to reconstruct the entire object.
3 Comments
Walter Roberson
on 12 Mar 2017
The only two sides you can reconstruct with that information is the two sides you start out with -- in other words, no reconstruction at all.
Image Analyst
on 4 Apr 2017
You could get A 3-D object from 2 views by extruding the 2-D shapes along each direction. It would not necessarily be the right one though. If it were right, then there would be no need for CT and MRI and those Nobel prizes for those would never have been granted. Like if you had the E and the G you could get a volume but if you didn't have B, the projection from above would look like a square instead of a B. Likewise, even if you had 3 views, it still won't be correct along some other direction, even though it may be "right" along those particular, exact three projection angles. That's why CT uses hundreds of projections instead of only 3.
Matt J
on 23 Jan 2022
For a general object, no it's not possible. For an object with some known structure, like a sphere, then yes: measure the radius of the projection and you're done.
0 Comments
See Also
Categories
Find more on Explore and Edit Images with Image Viewer App 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!