Сейчас на форуме: Kybyx (+1 невидимый пользователь) |
eXeL@B —› Оффтоп —› Максимальная компрессия картинок |
. 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 01 января 2020 14:51 · Поправил: SDK · Личное сообщение · #1 Всех С Новым Годом - Большим Доходом! Хотел у вас спросить какой самый маленький формат сжатия картинки. вот пример. (его и нужно ужать разрешение менять нельзя) хочу узнать самый максимум до скольки можно ужать (например 2кб) и потом архиватором например 7z kgb zip уже ужать еще раза в 3-4 ну например до 0.1 кб вот интересно реально ли это сделать или нет . и если реально то как бы вы решили задачу а если нет то почему. (Алгоритм задания.\Уменьшить размер без уменьшения разрешения но можно использовать конвертирование в другой формат, что бы оригинал был больше его копии ,а потом копию и оригинал тоже сжать архиватором и получить разницу раз в 5.) Всем спасибо.Если есть вопросы я уточню. |
|
Создано: 01 января 2020 15:21 · Поправил: _MBK_ · Личное сообщение · #2 |
|
Создано: 01 января 2020 15:28 · Поправил: SDK · Личное сообщение · #3 _MBK_ пишет: Сжатие без потерь фон белый буква Р ярко жёлтого цвета всё остальное можно менять как угодно что бы выжать максимум. ссылка на картинку |
|
Создано: 01 января 2020 15:36 · Личное сообщение · #4 Все равно не совсем пойму цель задачи. Если картинка однобитная и все ступеньки одинаковые, то она содержит количество информации на первый взгляд примерно около полутора килобит, ну еще чуть чуть компрессией можно поджать - это и будет нижним порогом к которому надо стремиться. Или это нетипичная картинка и могут быть принципиально другого вида например разноцветные? Или нужен сам принцип сжатия? |
|
Создано: 01 января 2020 15:49 · Поправил: SDK · Личное сообщение · #5 _MBK_ цель задачи. найти порог который уже нельзя перепрыгнуть например файл 1.jpg с максимальной компрессией без потери качества будет 1кб потом мы его попробуем ужать архиватором и он (или ужмётся или нет ) например еще ужмётся например до 1.kgb - 800 байт и вот тут уже буду думать я как мне перепрыгнуть это значение должно быть например 400-500байт для файла 1.jpg сжатого kgb архиватором картинки могут быть и других цветов например их может быть 16 - (7 цветов и оттенки если я правильно помню) чёрный это чёрный 8-й. А уточняю я у вас что бы когда я скажу что смог уменьшить размер 5 кб jpg файла до 500-600 байт мне не сказали да ладно так все могут (ишь что удумали вы там с фоксом в муре) поэтому мне нужно узнать порог а дальше я попробую справится с этой задачей если получится результат вам дам если нет скажу что не получилось. |
|
Создано: 01 января 2020 15:49 · Личное сообщение · #6 Как вариант алгоритмизации - обход по контуру. Допустим, все ступеньки одинаковые, тогда кодируем шаг влево 10, шаг вправо 11 шаг вперед 0. Весь контур будет таким образом описан количеством информации где то 300 с чем то бит. | Сообщение посчитали полезным: SDK |
|
Создано: 01 января 2020 15:54 · Поправил: SDK · Личное сообщение · #7 _MBK_ пишет: Как вариант алгоритмизации - обход по контуру. Допустим, все ступеньки одинаковые, тогда кодируем шаг влево 10, шаг вправо 11 шаг вперед 0. Весь контур будет таким образом описан количеством информации где то 300 с чем то бит. я об этом думал но программа вывода должна с картинкой не привышать 700 байт под виндовс это не возможно значит остаётся дос или zx через команду принт но там эмулятор всё сожрёт .остаётся только дос |
|
Создано: 01 января 2020 16:02 · Личное сообщение · #8 |
|
Создано: 01 января 2020 16:03 · Личное сообщение · #9 |
|
Создано: 01 января 2020 16:14 · Поправил: _MBK_ · Личное сообщение · #10 |
|
Создано: 01 января 2020 16:42 · Личное сообщение · #11 _MBK_ пишет: Еще идея как получить искомые пороговые две-три сотни бит более простым алгоритмом. Разбиваем фигуру на строки (примерно 20-30 строк всего), каждая строка состоит из последовательностей белых и желтых квадратов. Длина каждой последовательности укладывается в пять бит - итого 10 бит на строку. Бинго! Великолепная идея мне нравится,это как я придумал взять максимально сжатый exe записать в строку Hex в картинку и назад в Hex через программу распознавания цифр и букв в теории очень интересно на практике я вышел за предел размера exe как не хитрил с картинкой... если вы сможете это реализовать вывод по строчно таких картинок под win32 на asm то вы круче меня на порядок я по ка что такое не умею попробуйте может у вас получится интересный проект по компрессии которому нет аналогов. а я что придумал возьмём уйдём в командную строку в ней есть цвета \ 0 = Черный 8 = Серый 1 = Синий 9 = Светло-синий 2 = Зеленый A = Светло-зеленый 3 = Голубой B = Светло-голубой 4 = Красный C = Светло-красный 5 = Лиловый D = Светло-лиловый 6 = Желтый E = Светло-желтый 7 = Белый F = Ярко-белый зная их мы сможем буквами и цифрами выводить цвета в командную строку. читая из отдельного файла 1.txt у нас есть ascii Рисовалки и с помошью их мы нарисуем картинку фон белый F а значёк рентв ярко желтый E остаётся собрать бат файл выводяший последовательность потом сам батник и текстовый файл картинки сожмём kgb или zip и у нас получится ~ 700 байт а оригинал ну в таком же архиве будет ~3 000 байт как то так |
|
Создано: 01 января 2020 16:52 · Поправил: _MBK_ · Личное сообщение · #12 Все ж не пойму для чего такое надо тем более, с досовской командной строки? Под виндой рисовать сложного ничего нет, есть же GDIшная функция отрисовки заполненного прямоугольника, просто отрисовываем в двух вложенных циклах белые и желтые прямоугольники и все. А впрочем даже второй цикл и не нужен, просто цикл по строкам внутри которого рисуются белые и желтые прямоугольники |
|
Создано: 01 января 2020 16:59 · Личное сообщение · #13 _MBK_ пишет: Все ж не пойму для чего такое надо тем более, с досовской командной строки? Под виндой рисовать сложного ничего нет, есть же GDIшная функция отрисовки заполненного прямоугольника, просто отрисовываем в двух вложенных циклах белые и желтые прямоугольники и все. я отстал от технологий я вам свою идею соберу до рабочего вида и покажу а вы попробуйте по своему я хотел бы увидеть такое чудо если оно уместится еще и в 700байт в архиве это не слабо так. |
|
Создано: 01 января 2020 17:01 · Поправил: f13nd · Личное сообщение · #14 16 цветов 0..f это 4 бита, кодируя каждый пиксель символом ты кодируешь в лучшем случае 8 битами (уже заявка на гениальную затею), и потом на это ты предлагаешь кастануть какой-нибудь рандомный архиватор (даже не конкретный кодер+кодек, а архиватор пусть что-нибудь выберет). А главное потом можно будет поупражнявшись в сжимании скриншота разными архиваторами заявить, что твой батник с 8х12 пикселями сжимается лучше, чем растянутая и сглаженная картинка. ----- 2 оттенка серого |
|
Создано: 01 января 2020 17:06 · Личное сообщение · #15 f13nd пишет: 16 цветов 0..f это 4 бита, кодируя каждый пиксель символом ты кодируешь в лучшем случае 8 битами (уже заявка на гениальную затею), и потом на это ты предлагаешь кастануть какой-нибудь рандомный архиватор (даже не конкретный кодер+кодек, а архиватор пусть что-нибудь выберет). А главное потом можно будет поупражнявшись в сжимании скриншота разными архиваторами заявить, что твой батник с 8х12 пикселями сжимается лучше, чем растянутая и сглаженная картинка. Именно это я и хотел сказать только не знал как |
|
Создано: 01 января 2020 17:11 · Личное сообщение · #16 |
|
Создано: 01 января 2020 18:54 · Личное сообщение · #17 |
|
Создано: 01 января 2020 19:38 · Личное сообщение · #18 Подумаешь, у меня ровно 700 в неупакованном HTML Code:
|
|
Создано: 01 января 2020 21:23 · Личное сообщение · #19 _MBK_ Да у вас получилось еще лучше от оригинала в 10 раз меньше 363 байт под архивом, можно таким образом сделать 5-10 слайдов и получится считай демо а звук можно записать строчкой кода Code:
а вот проигрыватель http://wurstcaptures.untergrund.net/music/ тоже интересно придумано так что если развивать идеи можно что угодно придумать и в разные журналы писать. |
|
Создано: 02 января 2020 04:39 · Поправил: f13nd · Личное сообщение · #20 |
|
Создано: 02 января 2020 08:29 · Личное сообщение · #21 |
|
Создано: 02 января 2020 09:26 · Личное сообщение · #22 |
|
Создано: 02 января 2020 09:49 · Личное сообщение · #23 Ничего, что эта шляпа, кодированная в 16-цветном bmp 718 байт весит? Ничего, что 7z его сжимает до 259? Добавлено спустя 0 минут SDK, мне по-твоему совсем нечем заняться? ----- 2 оттенка серого |
|
Создано: 02 января 2020 10:05 · Личное сообщение · #24 так Вы молодой человек f13nd разрешение уменьшил (а задание было не делать этого). я вот своял за 5 минут. микродемку. Размер модуля без компресси 10 701 байт вот если уменьшить до 1000 было б не плохо как решить не знаете случайно? 09ae_02.01.2020_EXELAB.rU.tgz - Find and Grib.7z |
|
Создано: 02 января 2020 10:13 · Личное сообщение · #25 SDK пишет: разрешение уменьшил Нет, у твоей хераборы 43х25 разрешение. Или 42х25. Сложно сказать, потому что ты картинку растянул. Очевидно чтобы потом сказать типа я придумал - закодировать пиксели исходного изображения (43х25) буквами и сжать текст. у нас получится ~ 700 байт - ого как пророчески. Сжатие-то где? ----- 2 оттенка серого |
|
Создано: 02 января 2020 10:19 · Личное сообщение · #26 |
|
Создано: 02 января 2020 10:23 · Личное сообщение · #27 |
|
Создано: 02 января 2020 10:34 · Личное сообщение · #28 |
|
Создано: 02 января 2020 10:45 · Личное сообщение · #29 |
|
Создано: 02 января 2020 10:53 · Личное сообщение · #30 SDK пишет: ну запили что нибудь знатное Я до блевоты узапиливался за последние две недели 111ю сигнатурами и обработчиками для них на простенькой виртуальной машинке, щас сижу и запиливаю то, ради чего это было задумано. И последнее чего мне сейчас хотелось бы - какие-то бесполезные демосцены с пищалками делать. Тред вообще про сжатие данных, был бы про демосцены - я бы не совался даже. Ничего про эту хурму не знаю. ----- 2 оттенка серого |
. 1 . 2 . 3 . >> |
eXeL@B —› Оффтоп —› Максимальная компрессия картинок |