|
Сжатая графика во флешке, посоветуйте алгоритм или готовую реализацию |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Sep 20 2007, 06:13
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 13-09-07
Пользователь №: 30 506

|
Цитата(Gemm @ Sep 20 2007, 09:53)  ... быстренький, простенький алгоритм без потери качества ... Как говорится, выберите любые два пункта...
|
|
|
|
|
Sep 20 2007, 06:16
|

Участник

Группа: Свой
Сообщений: 61
Регистрация: 2-08-05
Из: Коломна
Пользователь №: 7 283

|
Цитата(deadman @ Sep 20 2007, 10:13)  Как говорится, выберите любые два пункта...  Ну вот я и выбрал  . Про степень сжатия молчу...
|
|
|
|
|
Sep 20 2007, 11:13
|

Участник

Группа: Свой
Сообщений: 61
Регистрация: 2-08-05
Из: Коломна
Пользователь №: 7 283

|
Цитата(aaarrr @ Sep 20 2007, 10:59)  И еще три варианта LZ (SS, Хаффман и арифметическое сжатие).
lz_comp2.zip ( 17.58 килобайт )
Кол-во скачиваний: 207А как с этим работать? fseek(...), fwrite(...), getc(infile)... Файловой системы нету, есть просто массив данных в памяти. Много переписывать в ваших исходниках. Или можно сделать проще? Компилятор использую IAR.
|
|
|
|
|
Sep 20 2007, 11:32
|

Местный
  
Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719

|
Цитата(proba @ Sep 20 2007, 10:48) 
lzw_c.zip ( 51 килобайт )
Кол-во скачиваний: 274использую lzw , даже на avr . вот пакет с всем необходимым. Прогнал через компрессор BMP 256х256, было 64К стало 74. После декомпрессии файл отличается от исходного и не видится Paint-ом. И кому нужны такие исходники.
|
|
|
|
|
Sep 20 2007, 11:53
|
Участник

Группа: Свой
Сообщений: 57
Регистрация: 7-09-05
Пользователь №: 8 307

|
Цитата(aaarrr @ Sep 20 2007, 10:24)  Тогда реализуйте RLE - пишется за пару часов, работает быстро. Впрочем, на распаковке LZ тоже имеет хорошую скорость. Точно... А еще поработать в хорошем графическом редакторе над сокрашением количества цветов в палитре... Тогда можно и не 16 бит пользовать, а, скажем 8...
|
|
|
|
|
Sep 20 2007, 16:03
|
Местный
  
Группа: Участник
Сообщений: 358
Регистрация: 29-05-05
Пользователь №: 5 526

|
Цитата(KAlex @ Sep 20 2007, 14:32)  Прогнал через компрессор BMP 256х256, было 64К стало 74. После декомпрессии файл отличается от исходного и не видится Paint-ом. И кому нужны такие исходники. да, не прочитал полностю задачу, данныи алгоритм работает на текстах- но во всяком случае у меня проблем небыло. видимо библиотечныи подход исползованныи там для графики не годится.
|
|
|
|
|
Sep 21 2007, 06:36
|

Участник

Группа: Свой
Сообщений: 61
Регистрация: 2-08-05
Из: Коломна
Пользователь №: 7 283

|
Цитата(scifi @ Sep 20 2007, 22:22)  Сначала скажите, какого рода картинки предполагается сжимать. Потом, возможно, придётся решить, можно ли сжимать с потерями. Картинки должны хорошо сжиматься без всяких потерь. Там черный фон, на котором красиво, с полутонами и анимацией (последовательность битмапок) написаны сообщения об ошибках и т.п. Т.е. 80% - это два цвета. Я попробовал сжать rar-ом с самой маленькой степенью сжатия. Сжалось в 15 раз.
|
|
|
|
|
Sep 21 2007, 07:45
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 13-09-07
Пользователь №: 30 506

|
Если битмапы одинаковых размеров, и, как было указано, имеют на 80% два цвета. на PC: -объединить их в один массив -пройтись по нему статическим алгоритмом Хаффмена -получаем словарь и сжатый массив на МК: - по словарю и сжатому массиву восстанавливаем исходный массив в память - по известным параметрам битмапов вычленяем их из массива по необходимости Ссылка на исходники и прочее: http://webcenter.ru/~xander/Или в архиве.
Прикрепленные файлы
shc101.zip ( 43.48 килобайт )
Кол-во скачиваний: 64
|
|
|
|
|
Sep 21 2007, 08:08
|

Местный
  
Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719

|
Цитата(Gemm @ Sep 21 2007, 10:36)  80% - это два цвета. Тогда адаптированный Хафман. ОднознАчно (с)
|
|
|
|
|
Sep 21 2007, 08:32
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 13-09-07
Пользователь №: 30 506

|
Цитата(KAlex @ Sep 21 2007, 12:08)  Тогда адаптированный Хафман. ОднознАчно (с) А можно и пару раз Хафманом пройти...  Тестовый рисунок ужался с 400к до 59к, потом 59к до 19к. Итого в два прохода - 20 раз. И без RAR. Для рисунков - самое оно... P.S. Сорри, RAR до 3к ужал...
Сообщение отредактировал deadman - Sep 21 2007, 08:34
|
|
|
|
|
Sep 21 2007, 20:03
|

Участник

Группа: Свой
Сообщений: 61
Регистрация: 2-08-05
Из: Коломна
Пользователь №: 7 283

|
Цитата(deadman @ Sep 21 2007, 11:45)  skipped Ссылка на исходники и прочее: http://webcenter.ru/~xander/Или в архиве. Попробовал зажать экзешником, что лежит в архиве. Сжало чуть-чуть получше, чем в 2 раза. Не совсем приемлимо - zip жмет в 13 раз. Смотрю в сторону гнушных gzip'а и bzip2.
|
|
|
|
|
Sep 29 2007, 09:56
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 13-09-07
Пользователь №: 30 506

|
Братта, смотри мой мессадж выше. Можно пару раз пройтись. Универсальный не нужен ведь? Попробуй с готовым exe на своей картинке. Здесь довольно узкая задача.  Не спорю, что на ПиСи есть и получше архиваторы. Они таки используют много методов. Но на ЭмСи есть проблема - эффективность архиватора/размер кода архиватора.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|