Преобразовать изображение RGB в индексированное изображение
Равномерное квантование - если указано tol, то rgb2ind использует равномерное квантование для преобразования изображения. Равномерное квантование разрезает цветовой куб RGB на меньшие кубы длиной tol. Например, если указать tol 0,1, то рёбра кубов составляют одну десятую длины RGB куба. Общее число небольших кубов:
t = (floor(1/tol)+1)^3
Каждый куб представляет один цвет в выходном изображении. Поэтому t - максимальная длина карты цветов. rgb2ind удаляет все цвета, которые не отображаются во входном изображении, поэтому фактическая карта цветов может быть меньше, чем t.
Квантование минимальных отклонений - если указано Q, то rgb2ind использует квантование минимальной дисперсии. Квантование минимальной дисперсии разрезает цветовой куб RGB на меньшие прямоугольники (не обязательно кубики) различных размеров в зависимости от того, как цвета распределены в изображении. Если входное изображение использует меньше цветов, чем указанное число, то выходная карта цветов также меньше.
Обратная карта цветов - при указании входной карты цветов inmap, то rgb2ind использует сопоставление карт цветов. Алгоритм обратной карты цветов квантует указанную карту цветов на 32 различных уровня на компонент цвета. Затем для каждого пикселя во входном изображении находят ближайший цвет в квантованной карте цветов.
[1] Спенсер В. Томас, «Эффективное вычисление обратной цветовой карты», Graphics Gems II, (ред. Джеймс Арво), Academic Press: Boston. 1991. (включает исходный код)
cmunique | dither | imapprox | ind2rgb