Преобразуйте изображение 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