cmunique

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

Описание

пример

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

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

Примечание

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

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

Примеры

свернуть все

Используйте 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')

Входные параметры

свернуть все

Индексируемое изображение с дублирующимися цветами, заданными как m-by-n матрица целых чисел.

Типы данных: double | uint8 | uint16

Палитра с дублирующимися цветами, сопоставленными с индексируемым изображением X, заданный как c 1 3 матрица со значениями в области значений [0, 1]. Каждая строка map трехэлементный триплет RGB, который задает красные, зеленые, и синие компоненты одного цвета палитры.

Типы данных: double

Изображение RGB, заданное как m-by-n-by-3 массив неотрицательных чисел.

Типы данных: double | uint8 | uint16

Полутоновое изображение, заданное как m-by-n числовая матрица.

Типы данных: double | uint8 | uint16

Выходные аргументы

свернуть все

Индексируемое изображение с уникальными цветами, возвращенными как m-by-n матрица целых чисел. Если длина newmap меньше чем или равно 256, затем выходное изображение имеет класс uint8. В противном случае выходное изображение имеет класс double.

Типы данных: double | uint8

Палитра с уникальными цветами, сопоставленными с выходом индексированное изображение Y, возвращенный как c 2 3 матрица со значениями в области значений [0, 1]. Каждая строка newmap трехэлементный триплет RGB, который задает красные, зеленые, и синие компоненты одного цвета палитры.

Типы данных: double

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

Представлено до R2006a