DEMO.DESIGN
Frequently Asked Questions
 
оглавление | demo party в ex-СССР | infused bytes e-mag | новости от ib/news | другие проекты | письмо | win koi lat

следующий фpагмент (2)
- Algorithms.. (2:5030/84) ------------------------------------ RU.ALGORITHMS - Msg : 4721 of 4728 From : Valery Datsjuk 2:5005/5.28 13 Nov 97 23:04:12 To : Kostya Andreev 15 Nov 97 06:05:27 Subj : Сжатие графики, что новенького? ------------------------------------------------------------------------------- Привет Kostya! В Понедельник 10 Hоября 1997, Kostya Andreev прислал письмо для All: KA> Уважаеmые, вот k ваm созpел очеpедной вопpос: KA> есть kаkие-нибудь новые алгоpитmы для сжатия гpафиkи? Что-нибудь KA> ну очень быстpое mожете поpеkоmендовать? И mеста где исkать KA> пожалуйста. для сжатия или распаковки? Это принципиально, а пока для затравки двоичное или квадратичное деление. Сжатие основано на том что в нужной картинке много больших пятен одинакового или близкого цвета (например шум телевизора на экране в отсутствии передачи и телевизора нового поколения :) не сжимается и не несет полезной инфы, высокочастотных деталей много и все без толку). прямоугольник с изображением обрабатывается по следующему алгоритму: // двоичное кодирование без потерь медленно сворачивать быстро размораживать main() { текущий_прямоугольник=картинка(Xmin,Ymin,Xmax,Ymax); кодируем(текущий_прямоугольник,корень,0); пихаем_дерево_на_винт; } кодируем(x1,y1,x2,y2,ориентация_разбиения |-, уровень_вложенности) { цвет_пятна=цвет_самой_левой_верхней_точки_текущего_прямоугольника; цвет = тотже; while ( цвет == тотже ) AND ( y <= y2 ) { while ( цвет == тотже ) AND ( x <= x2 ) { if цвет_пятна != цвет_точки(x,y) цвет = другой; x++; } y++; } if (цвет == другой) { if (|- == "|") OR (|- == корень) { |- = "-"; кодируем(x1,y1,x2,y2/2,|-,уровень+1); // бьем по горизонтали кодируем(x1,y2/2+1,x2,y2,|-,уровень+1); // нижняя половина } if (|- == "-") { |- = "|"; кодируем(x1,y1,x2/2,y2,|-,уровень+1); // бьем по вертикали кодируем(x2/2+1,y1,x2,y2,|-,уровень+1); // правая половина } } else строим_дерево(уровень,|-,цвет_пятна); } строим_дерево - сделаЙ_сам! (магазин умелые руки) С наилучшими пожеланиями, Well.

Всего 1 фpагмент(а/ов) |пpедыдущий фpагмент (1)

Если вы хотите дополнить FAQ - пожалуйста пишите.

design/collection/some content by Frog,
DEMO DESIGN FAQ (C) Realm Of Illusion 1994-2000,
При перепечатке материалов этой страницы пожалуйста ссылайтесь на источник: "DEMO.DESIGN FAQ, http://www.enlight.ru/demo/faq".