displaying RGB colours using SURF.
Show older comments
I am trying to display a rgb colour map on a gridded surface using surf.
I have grids of each rgb colour. How do I combine to give the surf(x,y,z,C)?
thanks
6 Comments
Sian Allerton
on 28 Dec 2020
Image Analyst
on 28 Dec 2020
For the benefit of others, could you provide a small demo?
I'm attaching mine (which is based Bruno's method below).

Ameer Hamza
on 29 Dec 2020
It should be "based on Ameer's method" :P
Sian Allerton
on 29 Dec 2020
Walter Roberson
on 29 Dec 2020
I suggest using warp()
Image Analyst
on 29 Dec 2020
Sorry Ameer, you're absolutely right. Sometimes I work on too many problems too close together. I must have gotten confused.
Answers (1)
Ameer Hamza
on 27 Dec 2020
You can use texture mapping to display an RGB image on a surface(). See here: https://www.mathworks.com/matlabcentral/answers/91858-is-it-possible-to-perform-texture-mapping-within-matlab. For example
img = imread('pears.png');
z = peaks(100);
surf(z, ...
'FaceColor','texturemap',...
'EdgeColor','none',...
'Cdata',img)
view(3)
1 Comment
Image Analyst
on 27 Dec 2020

Categories
Find more on Read, Write, and Modify Image 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!