Matlab在图像上叠加颜色

时间:2013-06-26 17:10:15

标签: matlab matlab-figure

我有一个grascale图像,我希望将不同的颜色叠加到具有相似属性的不同区域(比如方向或强度等)。我不是指热图。相反,我有硬编码的分段代码,我通过它们的“相似性”将像素分组在一起。现在我想为那些像素叠加颜色。

例如,对于3x3像素的pic,我知道顶行和底行是相似的组。中间一行是另一组。如何将红色色调与一个组重叠,蓝色色调与另一组重叠?

1 个答案:

答案 0 :(得分:0)

您可以将3x3x1灰度图像转换为3x3x3彩色图像,然后调整所需像素的色调值。

所以说:

GreyImg=[0.2, 0.3, 0.35;...
         0.5, 0.6, 0.56;...
         0.8, 0.8, 0.85];
%Convert To Color Img
ColorImg(:,:,1)=GreyImg;
ColorImg(:,:,2)=GreyImg;
ColorImg(:,:,3)=GreyImg;

%Add a red hew to top row:
ColorImg(1:1,:,1)=ColorImg(1:1,:,1)+[.2, .2, .2];
%Add a blew hew to top row:
ColorImg(3:3,:,3)=ColorImg(3:3,:,3)+[.2, .2, .2];

imshow(ColorImg);