我在Matlab中使用连通分量标记算法。在显示输出时,是否可以为不同的标签使用不同的颜色? (即使标签具有相同的强度)。
澄清:
我使用连通分量标记算法来标记二进制图像的连通分量。现在我有了不同的标签。所有标签都包含相同强度的像素。 (所有标签的像素强度值均为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.
您还可以使用colormap
命令更改颜色:
colormap(bone)
要自定义颜色,请定义nx3
矩阵,并将其作为colormap
的输入
cm = [1 0 0;
0 1 0;
0 0 1
0 1 1
1 1 0
];
colormap(cm)