MATLAB:在包含RGB图像的图形中显示灰度图像的颜色条

时间:2013-05-06 16:27:35

标签: matlab rgb colorbar

假设我们有两张图片:

1)RGB图像:

% initialize RGB image:
rgbIm = zeros(100, 100, 3); 
rgbIm(20:80, 20:80, 1) = 1;

2)灰度图像:

% initialize grayscale image:
grayIm = zeros(100);
grayIm(20:80, 20:80) = 1;

让我们看看他们两个:

figure, imshow(rgbIm),  colormap('jet'), colorbar;
figure, imshow(grayIm), colormap('jet'), colorbar;

正如我们所看到的,第二个图中的 colorbar (即灰度图像)完全有意义。另一方面,我无法真正理解第一个图中色图所给出的信息。

我想要实现的是在与RGB图像对应的图中显示灰度图像的颜色条

看起来这似乎没有意义,但这只是一个非常小的例子,我只是为了展示我想在一个更大的项目中做什么。

有什么想法吗?

非常感谢:)

EDIT1:请允许我解释为什么我需要这个

假设我在某些感兴趣的区域中计算一个MRI切片的一些生理参数,产生类似的结果:

parametric image

现在我想将这些参数叠加在原始切片的顶部,然后创建一个RGB图像来实现此目的:

superimposition on the original image

色彩图没有意义,这就是为什么我想在RGB图像中显示与参数图像相对应的色彩图(即叠加图像)。

有什么想法吗?

感谢您的关注。

2 个答案:

答案 0 :(得分:1)

我仍然认为你的要求没有意义 让我解释一下:
什么是colorbar? Colorbar表示从灰度(标量)到颜色的函数(映射)。使用jet,在您的示例中,将0映射为深蓝色,将1映射为红色 通过向RGB图像请求colorbar,您实际上要求从RGB三元组到RGB颜色的映射 - 此映射是标识映射!您不需要colorbar来查看此映射,每个像素代表它!

修改

看到编辑过的问题后,我稍微修改了一下答案:
由于MRI信号和您计算的任何生理参数在RGB空间中都没有意义,因此您有两个1D映射:
1.每个体素到灰度的MRI信号(“灰色”色图)
2.每个体素对“喷射”颜色的生理测量

在这种情况下我通常做的是将2D MRI切片转换为RGB灰度图像,只需沿第三维复制它

rgbSlice = twoDSlice(:,:,[1 1 1]);

现在将图像显示在彼此之上

figure;
imshow( rgbSlice );
hold on;
h = imshow( physiologicalParams );
colormap jet;
set(h, 'AlphaData', .5 ); 
colorbar

您可能需要使用caxisclim来播放轴的颜色映射,以使其正确。

答案 1 :(得分:1)

(回答我自己的问题,以便将来可以帮助某人)

在上述answerSteve Eddins' blog的帖子的帮助下,我刚刚完成了我的意图。 方法如下:

baseImage = baseImage/(max(baseImage(:))); % normalize base (anatomical) image
rgbSlice  = baseImage(:,:,[1 1 1]);        % converting to RGB (ignore colormaps)
imshow(parameterROIImage, []);             % show parametric image
colormap('jet');                           % apply colormap
hold on;
h = imshow(rgbSlice);                      % superimpose anatomical image
set(h, 'AlphaData', ~bwROIlocations);      % make pixels in the ROI transparent
colorbar;       

其中parameterROIImage是:

enter image description here

bwROIlocations是包含ROI像素的逻辑矩阵:

enter image description here

最终结果:

enter image description here

感谢Shai的帮助。