маркировка изображения разными цветами - PullRequest
4 голосов
/ 30 января 2012

Я использую алгоритм маркировки подключенных компонентов в Matlab.Можно ли использовать разные цвета для разных меток при отображении вывода?(Даже если ярлыки имеют одинаковую интенсивность).

Пояснение:
Я использовал алгоритм маркировки подключенных компонентов для маркировки подключенных компонентов двоичных изображений.Теперь у меня есть разные ярлыки.Все метки содержат пиксель одинаковой интенсивности.(Все метки имеют значение интенсивности пикселей 1), и все метки отображаются в одном цвете.Я хочу, чтобы разные надписи отображались разными цветами, чтобы легче было удалить ненужные.

1 Ответ

3 голосов
/ 30 января 2012

Это просто - используйте функцию 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)
...