how to plot rgb image in 3D dimension?
Show older comments
Hi, i want to plot a rgb image in 3D dimension. Z axes is for the color data. Currently, i have something like this

but i don't want the z-line to be plotted, ijust want to see how the surface looks. Maybe something like this

How can i make it? Thanks a lot. Here is my code for now:
img= imread([imdir,filename]);
if size(img,3)>1
img = rgb2gray(img);
end
[x,y]= meshgrid(1:size(img,2),1:size(img,1));
z = double(img);
min_x = min(min(x));
min_y = min(min(y));
max_x = max(max(x));
max_y = max(max(y));
figure; hold on;
surface(x,y,z,'edgecolor','none');
imgzposition = -100;
surf([min_x max_x],[min_y max_y],repmat(imgzposition, [2 2]),...
img,'facecolor','texture','edgecolor','none')
view(45,30);
xlabel('x');
ylabel('y');
zlabel('z');
Answers (2)
Image Analyst
on 20 Jun 2014
0 votes
Try sc: http://www.mathworks.com/matlabcentral/fileexchange/16233-sc-powerful-image-rendering from the same guy (Oliver) who brought us export_fig.
You might also check out Sean's meshcanopy: http://www.mathworks.com/matlabcentral/fileexchange/29485-meshcanopy
Ronnie Reyes
on 9 Nov 2018
0 votes
I know its too long of time. But do you still have the code for your initial work?
1 Comment
Image Analyst
on 9 Nov 2018
This doesn't seem like an answer to the original question, so who are you asking this of? I see code and links to code so I don't know what you're really asking.
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!