我在同一个图中有两件事要显示:surf图和灰度图像。它们必须在同一图中显示,并且图必须是彩色的。如果我首先显示绘图并逐步执行代码,则绘图将以彩色显示,但是当显示灰度图像时,一切都变为grascale。
注意:我尝试更改颜色贴图,但它也会更改灰度图像。有没有办法让这个情节有颜色?
这是我的代码片段:
figure;
subplot(1,2,1);
surf(data), shading interp;
subplot(1,2,2);
imshow(grayimg);
答案 0 :(得分:3)
问题是Matlab每个图只支持一个色图,你试图使用两个:gray
用于图像,jet
用于surfplot。
解决方法是欺骗Matlab相信图像是彩色的;)
figure;
subplot(1,2,1); surf(data); shading interp;
subplot(1,2,2); imshow( grayimg(:,:,[1 1 1]) ); % this is the trick: you convert one channel image to RGB image with all pixels shades of gray...