how to plot rgb image in 3D dimension?
17 views (last 30 days)
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');
0 Comments
Answers (2)
Image Analyst
on 20 Jun 2014
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
0 Comments
Ronnie Reyes
on 9 Nov 2018
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.
See Also
Categories
Find more on Annotations 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!