2d image to 3d surface

a = imread('Sample.jpeg');
surfc(rgb2gray (a), 'EdgeColor','none')
grid on
colormap (jet(50))
shading interp
Im using this code to make a 3d surface, but i got the surface upsite down. Can any one help me please?

Answers (1)

Try this:
a = imread('Sample.jpeg');
surfc(rgb2gray (a), 'EdgeColor','none')
grid on
colormap (jet(50))
shading interp
set(gca, 'ZDir','reverse')
.

5 Comments

The Z-direction may be reversed, but the color bar still says the table is taller than a hammer.
What result do you want?
agung pratama
agung pratama on 28 Apr 2020
Edited: agung pratama on 28 Apr 2020
A 3D graphic, something like this
That is likely not possible from a planar image. You would need to do some sort of scan (laser, CT, MRI) or something similar (stereoscopy) to extract the shape of the object. A single image itself will not provide that information.
Hi, Star Strider. I have four images of an object (superior view, lateral view, anterior view, posterior view). Can you help me, please?

Sign in to comment.

Asked:

on 21 Apr 2020

Community Treasure Hunt

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

Start Hunting!