用不同颜色标记图像

问题描述:

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

澄清:
我使用连通分量标记算法来标记二进制图像的连通分量。现在我得到了不同的标签。所有标签都包含相同强度的像素。 (所有标签的像素亮度值均为1),并且所有标签都显示为相同的颜色。我想用不同的颜色显示不同的标签,这样我就可以更容易地消除不需要的标签。

+0

更多澄清需要... – 2012-01-30 17:30:31

+0

我使用连通分量标记算法标记二进制图像的连接组件。现在我得到了不同的标签。所有标签都包含相同强度的像素。 (所有标签的像素亮度值均为1),并且所有标签都显示为相同的颜色。我想用不同的颜色显示不同的标签,以便我可以更容易地消除不需要的标签...让我知道如果你仍然需要澄清这个问题。 – meena 2012-01-30 17:50:24

这很简单 - 使用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) 
+0

你能解释你的第二行代码吗? – meena 2012-01-30 17:59:27

+0

我提到它是一个二进制图像。我在图像中散布了一组白色像素。我想用不同的颜色标记这些组..希望你澄清我 – meena 2012-01-30 18:01:41

+0

谢谢安德烈..那么工作.. :) – meena 2012-01-30 18:13:10