Reconstructing a 3D Surface from a 2D Surface using Mesh surface plot in Matlab

Hi,
I am not good at this and I need your help to display a 3D RGB or true color surface from a 2D or single image surface using Mesh surface plot function.
Here's what I did:
I = imread('2d_test_image.png');
figure, imshow(I); title('2D RGB surface')
I = rgb2gray(I);
I = im2double(I);
figure, imshow(I);
shading interp
colormap gray
FV = mesh(I); title('3D GRAY surface')
Here is the 2D RGB image (i.e., 2d_test_image.png ).
Here are results.
I can only display a 3D 'gray' surface. Can you please show me how to display the 3D RGB surface or how to modify the above source code so that I can generate the 'RGB colomap' or produce a 3D surface with colors similar to the 2D RGB surface colors?

 채택된 답변

Iuliu Ardelean
Iuliu Ardelean 2021년 2월 10일
편집: Iuliu Ardelean 2021년 2월 10일
Hey!
Use surf instead of mesh
Looks like this:
Here it is:
I = imread('2d_test_image.png');
Igray = rgb2gray(I);
Igray = im2double(Igray);
[x, y] = size(Igray);
[X, Y] = meshgrid(1:x,1:y);
FV = surf(X, Y, Igray, I, 'EdgeColor', 'none');
title('3D GRAY surface') % actually this is no longer a gray surface...

추가 답변 (0개)

카테고리

제품

릴리스

R2020a

질문:

2021년 2월 10일

댓글:

2021년 2월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by