cmunique

Устраните дублирующиеся цвета в палитре; преобразуйте изображение полутонового или истинного цвета в индексируемое изображение

Синтаксис

[Y, newmap] = cmunique (X, карта)
[Y, newmap] = cmunique (RGB)
[Y, newmap] = cmunique (I)

Описание

[Y,newmap] = cmunique(X,map) возвращает индексируемое изображение Y и сопоставленная палитра, newmap, которые производят то же изображение как (X,map), но с наименьшей палитрой. Функция cmunique удаляет дублирующиеся строки из палитры и настраивает индексы в матрице изображений соответственно.

[Y,newmap] = cmunique(RGB) преобразовывает изображение истинного цвета RGB в индексируемое изображение Y и его связанная палитра, newmap. Возвращаемое значение newmap является наименьшей палитрой для изображения, содержа одну запись для каждого уникального цвета в RGB.

Примечание

newmap может быть очень большим, потому что количество записей может быть столько же сколько количество пикселей в RGB.

[Y,newmap] = cmunique(I) преобразовывает полутоновое изображение I в индексируемое изображение Y и его связанная палитра, newmap. Возвращаемое значение, newmap, является наименьшей палитрой для изображения, содержа одну запись для каждого уникального уровня яркости в I.

Поддержка класса

Входное изображение может иметь класс uint8, uint16 или double. Класс выходного изображения, Y является uint8, если длина newmap меньше чем или равна 256. Если длина newmap больше, чем 256, Y имеет класс double.

Примеры

свернуть все

Используйте функцию magic, чтобы задать X как массив 4 на 4, который использует каждое значение в области значений между 1 и 16.

X = magic(4);

Используйте функцию gray, чтобы создать палитру с восемью записями. Затем конкатенируйте две палитры с восемью записями, чтобы создать палитру с 16 записями, map. В map записи 9 - 16 являются копиями записей 1 - 8.

map = [gray(8); gray(8)];
size(map)
ans = 1×2

    16     3

Используйте cmunique, чтобы устранить дублирующиеся записи в палитре.

[Y, newmap] = cmunique(X, map);
size(newmap)
ans = 1×2

     8     3

cmunique настраивает значения в оригинальном изображении X так, чтобы Y и newmap произвели то же изображение как X и map.

figure
image(X)
colormap(map)
title('X and map')

figure
image(Y)
colormap(newmap)
title('Y and newmap')

Смотрите также

Была ли эта тема полезной?