Reconstructing a 3D Surface from a 2D Surface using Mesh surface plot in Matlab
조회 수: 8 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
채택된 답변
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개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!