Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Конвертация 16 битного растрового изображения в 8 битное!   Найти похожие ветки 

 
jab~   (2004-05-20 09:02) [0]

В процессе простого преобразования (стандартными средствами, когда просто задаеш битмапу битность), палитра меняется на 256 цветов не самым лучшим образом! Проявляются явные переходы цветов в виде ступенек. Понятное дело, что без патери качества не сконвертировать, но говорят есть алгоритм оптимизации палитры! Теоретически я представляю себе этот алгоритм (нужно отобрать 256 цветов, которые чаще всего встречаются в изображении), а вот как его реализовать я не знаю. Осчастливте меня пожалуйста куском кода. В гугле уже искал и находил в основном теорию и некоторые кусочки на С++.
По возможности хотелось бы что то типа:
function TForm1.Convert(img : TBitmap): TBitmap ;
begin
???
end;


 
cyborg ©   (2004-05-20 09:04) [1]

Хочешь, не хочешь, всё равно градация будет, но некоторые редакторы диффузию делают. Может в этом направлении поработать?


 
MBo ©   (2004-05-20 09:09) [2]

Алгоритмы создания оптимальной палитры работают следующим образом - цвета исходного изображения группируются по близости, пока не получится нужное количество групп, каждой группе назначается усредненный цвет. Наиболее известные алгоритмы - Median Cut и OcTree


 
jab~   (2004-05-20 09:15) [3]

Угу... ну с этим то я ознакомился, а вот как это реализовать на практике (так что бы код был попроще и побыстрее отрабатывал). Есть у меня пара программулек, которые используют оптимизауию, но они без исходников.


 
dmk ©   (2004-05-20 15:06) [4]

У Фень Юаня алгоритм OcTree полностью разобран в его книге "Программирование графики под Windows".


 
jab~   (2004-05-21 09:22) [5]

Как купить и где?


 
MBo ©   (2004-05-21 09:40) [6]

>Как купить и где?
www.findbook.ru

реализация на паскале есть в TGifImage


 
Sapersky   (2004-05-21 10:01) [7]

Ещё на www.efg2.com был пример.


 
jab~   (2004-05-21 12:20) [8]

Про TGIFImage спасибо!
Пока не дорубил какая там процедурка...

procedure TGIFImage.OptimizeColorMap;
?


 
jab~   (2004-05-24 10:23) [9]

Мда.. Разобрался наконец то. Всем спасибо! Отдельное спасибо MBo за дельную подсказку про гифы.



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1088159955
Zelius
2004-06-25 14:39
2004.08.08
Как вызвать из программы диалог Internet options?


6-1086518328
VID
2004-06-06 14:38
2004.08.08
Поведение сокета при отправке данных


14-1090309167
ИМХО
2004-07-20 11:39
2004.08.08
О теннисе


3-1089274904
Ander
2004-07-08 12:21
2004.08.08
Помогите с восстановлением рухнувшего индекса БД средствами Delph


4-1088319931
djone
2004-06-27 11:05
2004.08.08
Parent