Понижение глубины цвета

From
Sergey Mudry ()
To
Vladimir Siltchenko
Date
2002-11-18T10:54:51Z
Area
RU.ALGORITHMS
From: "Sergey Mudry" <upx@nc.ru>

Hello, Vladimir!
You wrote to All on Fri, 15 Nov 2002 23:30:54 +0300:

 VS> Первое, что пришло в голову: все возможные цвета разбиваются на 256
 VS> групп. В каждой группе вычисляется среднее арифметическое по всем
 VS> цветам из картинки, в нее входящим. После проходимся по картинке и
 VS> кажому цвету назначаем индекс из ранее составленного 256`ти байтного
 VS> массива.
Добавь дизер.
После того как назначил индекс, вычисляешь ошибку цвета: от оригинальных
R,G,B вычитаешь назначенные по таблице r,g,b, получаешь ошибку: r'=R-g,
g'=G-g, b'=B-b,
и затем полученные r',g',b' прибавляешь к следующему пикселу.
256-цветную палитру можно брать фиксированную.

 VS> Результат, мягко говоря, не очень. :)
Еще бы!

 VS> Подскажите, плз, анормально работающий алгоритм.
В твоем случае дизер работает неплохо (если только разрешение экрана не
320x200 ;)
Если надо привести к двум цветам - нужен более другой алгоритм.

With best regards, Serg, aka upx@nc.ru, upx@ukr.net


--- ifmail v.2.15dev5
 * Origin: Donbass Internet Center DIPT (2:5020/400)