imapprox

Аппроксимированное индексируемое изображение путем сокращения количества цветов

Описание

пример

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

[Y,newmap] = imapprox(X,map,tol) аппроксимирует цвета в индексируемом изображении X и сопоставленная палитра map при помощи универсального квантования с допуском tol.

Y = imapprox(X,map,inmap) аппроксимирует цвета в индексируемом изображении X и сопоставленная палитра map при помощи обратного отображения палитры с палитрой inmap. Обратный алгоритм палитры находит цвета в inmap то лучшее соответствие цвета в map.

___ = imapprox(___,dithering) включает или отключает размывание.

Примеры

свернуть все

Загрузите индексируемое изображение поверхности мандрила. Изображение на дисплее X с помощью его связанной палитры, map, который имеет 220 цветов.

figure
load mandrill
image(X)
colormap(map)
axis off         
axis image

Сократите количество, раскрашивает индексируемое изображение от 220 только до 16 цветов путем создания нового изображения, Y, и его связанная палитра, newmap.

figure
[Y,newmap] = imapprox(X,map,16);
image(Y)
colormap(newmap)
axis off       
axis image

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

свернуть все

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

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

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

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

Количество квантованных цветов использовало в минимальном квантовании отклонения, заданном как положительное целое число, которое меньше чем или равно 65 536. Возвращенная палитра newmap имеет Q или меньше цветов.

Допуск используется в универсальном квантовании, заданном как номер в области значений [0, 1]. Возвращенная палитра newmap имеет (floor(1/tol)+1)^3 или меньше цветов.

Палитра с меньшим количеством цветов, используемых в обратном отображении палитры, заданном как c-by-3 матрица со значениями в области значений [0, 1]. Каждая строка inmap трехэлементный триплет RGB, который задает красные, зеленые, и синие компоненты одного цвета палитры. Палитра имеет максимум 65 536 цветов.

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

Выполните размывание, заданное как 'dither' или 'nodither'. Размывание увеличений цветное разрешение за счет пространственного разрешения. Для получения дополнительной информации смотрите dither.

Если вы выбираете 'nodither', затем imapprox не выполняет размывание. Вместо этого функция сопоставляет, каждый раскрашивает оригинальное изображение к самому близкому цвету в новой палитре.

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

свернуть все

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

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

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

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

Алгоритмы

imapprox использование rgb2ind создать новую палитру, которая использует меньше цветов. Для получения дополнительной информации о квантовании и обратном отображении палитры, см. Алгоритмы rgb2ind.

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