Преобразуйте изображение 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] Spencer W. Thomas, «Effective Inverse Color Map Computation», Graphics Gems II, (эд. James Arvo), Academic Press: Boston. 1991. (включает исходный код)
cmunique | dither | imapprox | ind2rgb