|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Max Pervukhin 2:5000/111.35 23 Nov 2002 23:43:32 To : Vladimir Siltchenko Subject : Понижение глубины цвета --------------------------------------------------------------------------------
[.]: Aqua - Turn Back Time
Wednesday November 20 2002 01:50, Andrew Starsh НН. Vladimir Siltchenko:
VS>> Есть исходная картинка в 24 битном цвете.
VS>> Hужно понизить глубину цвета до 256 цветов (т-е цветовая карта).
VS>> Первое, что пришло в голову: все возможные цвета разбиваются на
VS>> 256 групп.
Есть так называемый алгоритм двоичного разбиения цветового пространства.
Состоит в следующем.
Рассматриваем цвет как координаты точки в трехмерном пространстве.
Все цвета использованные в картинке дадут нам множество точек в этом самом
пространстве.
Для этого множества строим минимальный ограничивающий паралелипипед. То есть по
каждой цветовой координате находим максимальное и минимальное значения.
Рубим этот паралелепипед вдоль самой длинной стороны. Мнощество точек (цветов)
таким образом тоже делится на две части. Для каждого из этих множеств опять же
строим минимальный ограничивающий паралелипипед, каждый из которых, в свою
очередь рубим вдоль длинной стороны и делим множество цветов тоже пополам и тд.
Рекурсивный алгоритм, как легко увидеть. Hа каждом уровне рекурсии количество
подмножеств исходного цветового множества удваивается.
Когда их станет столько, сколько нужно (в данном случае 256) работу алгоритма
можно закончить и приблизить все цвета одного подмножества одним цветом -
средним цветом или еще как нибудь.
После этого заменить цвета в исходном изображении на посчитанные таким вот
образом. Для улучшения результатов можно использовать дизеринг.
.Макс і
... Перед тем, как yлyчшиться, ситyация yхyдшается.
--- [ maxfirst@mail.ru ] --- [ uin: 50245928 ] ---
* Origin: Solus ipse (2:5000/111.35)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/38553de00894.html, оценка из 5, голосов 10
|