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

Figure contains an axes object. The axes object contains an object of type image.

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

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

Figure contains an axes object. The axes object contains an object of type 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