【问题标题】:labeling image with different colors用不同颜色标记图像
【发布时间】:2012-01-30 17:14:55
【问题描述】:

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

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

【问题讨论】:

  • 需要进一步说明...
  • 我使用连通分量标记算法来标记二值图像的连通分量。现在我得到了不同的标签。所有标签都包含相同强度的像素。 (所有标签的像素强度值为 1)并且所有标签都以相同的颜色显示。我想用不同的颜色显示不同的标签,这样我就可以更容易地消除不需要的标签......如果你还需要澄清这个问题,请告诉我......

标签: image matlab labels


【解决方案1】:

这很容易 - 使用 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)

【讨论】:

  • 我提到它是一个二进制图像。我有散布在图像中的白色像素组。我想用不同的颜色标记这些组。希望你澄清我
  • 对于 3D 图像,您也可以使用“bwlabeln”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 2021-07-13
相关资源
最近更新 更多