用不同颜色标记图像

时间:2012-01-30 17:14:55

标签: image matlab labels

我在Matlab中使用连通分量标记算法。在显示输出时,是否可以为不同的标签使用不同的颜色? (即使标签具有相同的强度)。

澄清:
我使用连通分量标记算法来标记二进制图像的连通分量。现在我有了不同的标签。所有标签都包含相同强度的像素。 (所有标签的像素强度值均为1),所有标签均以相同颜色显示。我希望使用不同的颜色显示不同的标签,以便我可以更轻松地消除不需要的标签。

1 个答案:

答案 0 :(得分:3)

这很简单 - 使用imagesc功能:

p = imread('peppers.png'); %Read image
b = (p(:,:,2)>100); % Thresholding by some constant threshold

如果您已经有二进制图像,只需使用代码的这一部分:( b是图像)

L = bwlabel(b); %Find components
figure();   %Create figure
imagesc(L);  %Draw the components, each in its own color.

enter image description here

您还可以使用colormap命令更改颜色:

 colormap(bone)

enter image description here

要自定义颜色,请定义nx3矩阵,并将其作为colormap的输入

cm = [1 0 0; 
      0 1 0; 
      0 0 1
      0 1 1 
      1 1 0
    ];
colormap(cm)