|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 07 Dec 2002 22:51:14 To : Vladimir Siltchenko Subject : Re: Понижение глубины цвета -------------------------------------------------------------------------------- Однажды 15-Nov-02 в 23:30 Vladimir Siltchenko (2:452/23.25) написал All по поводу -=- Понижение глубины цвета -=- VS> Есть исходная картинка в 24 битном цвете. VS> Hужно понизить глубину цвета до 256 цветов (т-е цветовая карта). VS> Первое, что пришло в голову: все возможные цвета разбиваются на 256 групп. В VS> каждой группе вычисляется среднее арифметическое по всем цветам из VS> картинки, в нее входящим. После проходимся по картинке и кажому цвету VS> назначаем индекс из ранее составленного 256`ти байтного массива. VS> Результат, мягко говоря, не очень. :) VS> Подскажите, плз, анормально работающий алгоритм. VS> P.S. Память и скорость работы абсолютно некритичны. Kритична, скорее. VS> сложность реализации и понимания. :) Hа самом деле задача разбивается на две: 1. Подбор оптимальной палитры. 2. Приведение картинки к выбранной палитре. Самое интересное, что для обеспечения хорошего качества алгоритм первого этапа должен выбираться в зависимости от того, какой алгоритм будет использован на втором. А на втором обычно применяется либо округление к ближайшему, либо дизеринг. И тот и другой случай имеет свои ньюансы. Hапример, в первом случае, если мы при определении расстояния используем весовые коэффициенты, то и при подборе палитры следует пользоваться этими же коэффициентами. Во втором лучших результатов можно добиться при 4-точечном дизеринге, если чередовать направления проходов. До свидания, в 21:46 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053DF26D52.html, оценка из 5, голосов 10
|