如何在MATLAB中的同一图中显示RGB和灰度图像

时间:2014-07-07 16:14:55

标签: matlab rgb grayscale figure

我在同一个图中有两件事要显示:surf图和灰度图像。它们必须在同一图中显示,并且图必须是彩色的。如果我首先显示绘图并逐步执行代码,则绘图将以彩色显示,但是当显示灰度图像时,一切都变为grascale。

注意:我尝试更改颜色贴图,但它也会更改灰度图像。有没有办法让这个情节有颜色?

这是我的代码片段:

figure;
subplot(1,2,1);
surf(data), shading interp;
subplot(1,2,2);
imshow(grayimg);

1 个答案:

答案 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...