Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для Милослав
1 / 1 / 0
Регистрация: 27.11.2015
Сообщений: 183
Записей в блоге: 2

О понятии "сжатие" применительно к графическим файлам

20.08.2017, 05:51. Показов 3831. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от krazy2013 Посмотреть сообщение
И, кстати, а чего это изображение архивировано?))) даешь несжатые бээмпехи!
Про какие еще условия задачи соблагоизволите поведать общественности?)))
JPG сжимает, очевидно ведь что при открытии оно разжимается.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2017, 05:51
Ответы с готовыми решениями:

пути к файлам стилей и графическим файлам
Здравствуйте! Натягиваю html-шаблон на wordpress. Проблема возникла с подключением доп.стилей и изображений. В консоли отладчика 404 not...

Определение понятии
Разработка реализации по физическому разделению баз знаний, специализировать их онтологии. Что понимается под физическим разделением баз...

Определение понятии
Разработка реализации по физическому разделению баз знаний, специализировать их онтологии. Что понимается под физическим разделением баз...

49
Эксперт .NET
 Аватар для Rius
13353 / 7808 / 1695
Регистрация: 25.05.2015
Сообщений: 23,782
Записей в блоге: 14
20.08.2017, 17:29
Студворк — интернет-сервис помощи студентам
Есть формат RAW, представляющий данные с матрицы фотоаппарата. Сильно зависящий от модели фотоаппарата. Напрямую его только фотографы обрабатывают. Что вы к нему прицепились, вообще не понятно.

Файл изображения в формате RAW (CR2) у Canon EOS 1100D разрешением 4272*2848, например, занимает 14,4 МБ (очевидно, используется какое-то сжатие).
При преобразовании его из камеро-зависимого формата в универсальный (ширпотребный) получаются данные, предположим, в самом простом формате BMP. Они занимают очень большой объём, т.к. каждый пиксел представляется 3-4 байтами. 24-битный BMP разрешения 4272*2848 занимает 34,8 МБ.

Так как файлы слишком большие, их сжимают.
Алгоритмы, как и для звука, есть и с потерями (lossy) и без потерь (loseless)
С потерями - JPG. При сжатии данные изображения меняют так, чтобы при восстановлении изменения были незаметны на глаз, но данные в файле занимали меньше места. Однако восстановленные данные отличаются от исходного изображения, которое было до сжатия.
Без потерь - PNG. Данные сжимаются как есть и при восстановлении получаются те же данные, что были до сжатия.

Восстановление (распаковка сжатого) нужно, чтобы отобразить изображение на экране. Это может быть сделано и по частям, чтобы не занимать много памяти, и полностью, чтобы обращение к данным происходило быстро. Но распаковка необходима в любом случае.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
20.08.2017, 17:35
Цитата Сообщение от WyPik Посмотреть сообщение
нельзя знать исходного результата не зная механизма работы.
Можно, если результат имеет стандарт и документирован. Из неизвестно чего нельзя получить дескриптор картинки. Винда просто не поймет что от нее хотят.

Цитата Сообщение от WyPik Посмотреть сообщение
зачем ты мне скинул СИшные исходники, если твой код изначально не сишный?
Это не значит что в нем нельзя использовать сишные библиотеки. Их даже не я писал разработчик ЯП.

Цитата Сообщение от WyPik Посмотреть сообщение
я не нашел в этих исходниках функцию лоадимедж.
Это функция PureBasic. Его библиотеки с закрытым исходным кодом...

Цитата Сообщение от WyPik Посмотреть сообщение
я попросил дать конкретно доки на исходник из твоего примера
У меня нет исходников. Попросите их написав письмо на support@purebasic.com но ответ будет предсказуем.
0
 Аватар для Lehhaa
890 / 778 / 68
Регистрация: 09.04.2013
Сообщений: 3,142
Записей в блоге: 1
20.08.2017, 20:17
Цитата Сообщение от locm Посмотреть сообщение
полагает что можно jpg картинку как она есть отобразить на экране
это где это я такое говорил? и как картинка может быть jpg? я конечно не программист, но разницу между изображением на экране и файлом улавливаю
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
20.08.2017, 20:44
Цитата Сообщение от Lehhaa Посмотреть сообщение
это где это я такое говорил?
Цитата Сообщение от Lehhaa Посмотреть сообщение
Разумеется, ни о каком "разжатии" речь не идет
Прежде чем картинку отобразить на экране ее нужно разжать, т. е. привести к стандартному формату.

Цитата Сообщение от Lehhaa Посмотреть сообщение
я конечно не программист, но разницу между изображением на экране и файлом улавливаю
И в чем она по вашему заключается?
0
 Аватар для Lehhaa
890 / 778 / 68
Регистрация: 09.04.2013
Сообщений: 3,142
Записей в блоге: 1
20.08.2017, 20:59
locm, хотя бы в том, что картинка это набор цветных пикселей на экране, видимый глазом и складывающийся в изображение, а файл это набор данных, инструкций команд и прочего, из чего соответствующая программа может этот набор организовать. Про разжать картинку-это програмисстский слэнг такой? Разжать файл jpeg? А разве разжимается файл? Считал что из него программой извлекаются данные, и раскладываются как удобно, что, естественно, занимает места больше. Но тут не сжатие-разжатие, а использование, возможно преобразование. Не?
0
Эксперт .NET
 Аватар для Rius
13353 / 7808 / 1695
Регистрация: 25.05.2015
Сообщений: 23,782
Записей в блоге: 14
20.08.2017, 21:06
locm, Lehhaa, ваш спор напрасен, вы оба плаваете в вопросе.
См. Что такое такт в процессоре?

Добавлено через 2 минуты
Цитата Сообщение от Lehhaa Посмотреть сообщение
Не?
Не. Масло маслянное.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
20.08.2017, 21:28
Цитата Сообщение от Lehhaa Посмотреть сообщение
хотя бы в том, что картинка это набор цветных пикселей на экране, видимый глазом и складывающийся в изображение, а файл это набор данных, инструкций команд и прочего...
Слов много, а толку мало. Ответа по существу нет.
Если вы не сильны в определенной области, то зачем спорите?

Цитата Сообщение от Rius Посмотреть сообщение
locm, Lehhaa, ваш спор напрасен, вы оба плаваете в вопросе.
Я не плаваю в вопросе. Может не знаю всех тонкостей структуры файла формата JPG (мне это не нужно было на практике), но формат хранения картинки в памяти знаю (на уровне WinAPI).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.08.2017, 11:24
Цитата Сообщение от locm Посмотреть сообщение
Может не знаю всех тонкостей структуры файла формата JPG
Проблема в том, что ты считаешь JPEG просто форматом хранения. А это совсем не так. JPEG - это в первую очередь алгоритм сжатия изображения с потерей качества. А уж как оно потом в файл складывается - дело десятое
1
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
21.08.2017, 11:52
Цитата Сообщение от Evg Посмотреть сообщение
Проблема в том, что ты считаешь JPEG просто форматом хранения.
В плане загрузки картинки из файла, да это формат хранения.

Цитата Сообщение от Evg Посмотреть сообщение
JPEG - это в первую очередь алгоритм сжатия изображения с потерей качества.
Я где-то писал что исходное качество восстанавливается? Или утверждал что качество не теряется? Давайте для простоты рассматривать не JPEG, а PNG и вопрос о качестве теряет смысл.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.08.2017, 13:58
Цитата Сообщение от locm Посмотреть сообщение
Я где-то писал что исходное качество восстанавливается? Или утверждал что качество не теряется?
Что ты говорил, точнее, что ты имел в виду, мало кто понимает, потому и начался спор

Цитата Сообщение от locm Посмотреть сообщение
Давайте для простоты рассматривать не JPEG, а PNG и вопрос о качестве теряет смысл
Если бы речь шла о PNG, то и предмета спора бы не было. Ибо JPG и PNG - это принципиально разные вещи. Одно - способ кодирования с потерей качества, а другое - без потери качества
2
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
21.08.2017, 14:14
Цитата Сообщение от Evg Посмотреть сообщение
Что ты говорил, точнее, что ты имел в виду, мало кто понимает
Кто виноват что вы не понимаете что я пишу?
О том что не про качество я много раз писал, но вы похоже этого не замечаете, или не хотите замечать.
Цитата Сообщение от locm Посмотреть сообщение
Во вторых, речь идет не про восстановление качества
Цитата Сообщение от locm Посмотреть сообщение
Сперва ее нужно привести к первоначальному пиксельному формату (замечу что про первоначальное качество речь не идет).
Цитата Сообщение от locm Посмотреть сообщение
Я где-то писал что исходное качество восстанавливается? Или утверждал что качество не теряется?
Где я утверждаю что качество не теряется? Да и вообще, пишу что не имею в виду качество.

Говорите что я непонятно пишу? Тогда расскажите как вы видите процесс загрузки JPEG картинки и отображение ее на экране, скажем в static контроле.
0
 Аватар для Lehhaa
890 / 778 / 68
Регистрация: 09.04.2013
Сообщений: 3,142
Записей в блоге: 1
21.08.2017, 14:21
Цитата Сообщение от locm Посмотреть сообщение
Сообщение от Lehhaa
из джипега обратно рав
А как иначе отобразить картинку на экране?
собственно с этого все и пошло
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.08.2017, 14:29
Цитата Сообщение от locm Посмотреть сообщение
Тогда расскажите как вы видите процесс загрузки JPEG картинки и отображение ее на экране, скажем в static контроле
Я вообще не вижу принципиальной разницы между загрузкой из различных форматов

Ради интереса пошёл читать спор с начала. Уже не могу понять, о чём мы вообще спорим. И причиной, судя по всему, является то, что разные участники "спора" невнятно формировали мысли, в итоге один неясно выразился, второй первого понял не так, третий возразил второму и пошёл какой-то испорченный телефон

Добавлено через 2 минуты
Цитата Сообщение от Lehhaa Посмотреть сообщение
собственно с этого все и пошло
Вероятно, крайним был ты, и, видимо, посчитал, что raw - это некое чистое пиксельное изображение (или что-то в этом духе). Т.е. то, что locm называл "первоначальным форматом". А дальше уже программисты и непрограммисты говорили на разных языках. Короче реально какая-то ржака случилась
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
21.08.2017, 14:32
Цитата Сообщение от Lehhaa Посмотреть сообщение
собственно с этого все и пошло
Нет пошло все с этого.
Цитата Сообщение от Lehhaa Посмотреть сообщение
получаем джипег весом килобайт 500-900, который уже и выводится на экран. Разумеется, ни о каком "разжатии" речь не идет
Вы полагаете что JPEG как есть можно отобразить на экране. Его сперва нужно привести к одному из стандартных RGB форматов, т. е. по сути разжать, потому что занимаемый объем будет больше чем у JPEG.

Добавлено через 1 минуту
Цитата Сообщение от Evg Посмотреть сообщение
Я вообще не вижу принципиальной разницы между загрузкой из различных форматов
Все ясно. В этом разделе форума кроме меня программистов нет...
-0.50
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.08.2017, 14:37

Не по теме:

Цитата Сообщение от locm Посмотреть сообщение
Его сперва нужно привести к одному из стандартных RGB форматов
В моём понимании это НЕ называется словом "формат". Понятно, что это мелочь и всего лишь вопрос терминологии, но у нас тут в том числе и из-за этого было непонимание



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от locm Посмотреть сообщение
В этом разделе форума кроме меня программистов нет...
Пичаль, всё-таки перешли на личности :(

0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
21.08.2017, 14:52
Цитата Сообщение от Evg Посмотреть сообщение
В моём понимании это НЕ называется словом "формат"
Как тогда называется? Именно формат.
Вот пара ссылок. http://www.vsokovikov.narod.ru... dibits.htm
http://www.vsokovikov.narod.ru... apinfo.htm
Посмотрите сколько раз на странице встречается слово формат и к чему оно относится.

Цитата Сообщение от Evg Посмотреть сообщение
всё-таки перешли на личности
Где переход на личности? Это была констатация факта.
0
 Аватар для Lehhaa
890 / 778 / 68
Регистрация: 09.04.2013
Сообщений: 3,142
Записей в блоге: 1
21.08.2017, 15:50
Evg,
Цитата Сообщение от Evg Посмотреть сообщение
raw - это некое чистое пиксельное изображение
аааа!!! да нет же
это изначальный файл, содержащий максимум сырой необработанной информации о снимке. Потому его используют при постобработке в профессиональных граф.редакторах-возможностей спасти снимок гораздо больше. Как он устроен архитектурно-без понятия, это к программистам. Но факт, что после того, как его преобразуют в сильно упрощенный формат jpg, качество теряется и обратно уже не возвратится. С остальным согласен

Добавлено через 2 минуты
Цитата Сообщение от locm Посмотреть сообщение
Вы полагаете что JPEG как есть можно отобразить на экране
не полагаю
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,024
Записей в блоге: 7
21.08.2017, 15:55
Цитата Сообщение от Lehhaa Посмотреть сообщение
не полагаю
Тогда почему пишите
Цитата Сообщение от Lehhaa Посмотреть сообщение
получаем джипег весом килобайт 500-900, который уже и выводится на экран. Разумеется, ни о каком "разжатии" речь не идет и качество джипега отличается от сырого снимка.
С этого все и началось.
Прежде чем вывести картинку на экран ее нужно разжать (распаковать). Про восстановление исходного качества речь не идет. Об этом много раз писал.
0
 Аватар для Lehhaa
890 / 778 / 68
Регистрация: 09.04.2013
Сообщений: 3,142
Записей в блоге: 1
21.08.2017, 16:31
locm, потому что соответствующая программа берет это джипег и на основе полученных из него данных формирует изображение. А уж как она это делает и на сколько мегабайт эти данные раскладывает, это ее дело, речь не о том шла.

Добавлено через 6 минут
По вашей логике выходило что формат raw сжимается в десять раз и получается lpg. Потом он разжимается обратно в raw и выводится на экран. Вот с этим я и спорил.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
21.08.2017, 16:32
Цитата Сообщение от locm Посмотреть сообщение
Как тогда называется? Именно формат.
Не знаю, как называется. А если и "формат", то этот "формат" из другого пространства, чем "форматы" png, jpg и т.п. Т.е. слово "формат" вносит путанницу

Цитата Сообщение от locm Посмотреть сообщение
Вот пара ссылок
Ну это же мнение одного человека. Если б он называл словом "веник" из этого никак бы не вытекало, что остальные должны так же наывать

Цитата Сообщение от Lehhaa Посмотреть сообщение
аааа!!! да нет же
Я всего лишь пытаюсь понять, откуда ж ноги у нашего спора растут. Вот выдвинул одно из предположений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2017, 16:32

Сложность в понятии кода
Значит задача следующая при вводе числа 56 в поле edt1 форма должна закрыться. То есть CanClose:=True; Я для проверки сделал код который...

Базируясь на понятии “Точка” определить понятие “Квадрат”
Огромная просьба помочь! Ни как не могу сообразить как сделать вот такую программу( : Определить понятие “Точка”. Состояние...

Сжатие звука с потерями и обратно (или иное сжатие с потерями)
Доброго всем времени суток. Столкнулся с такой проблемой, есть канал связи с маленькой скоростью на одном конце SDR приемник (дает...

Перенаправление в .htaccess. Как все запросы к файлам в одной папке перенаправить к файлам в другой папке
Здравствуйте, нужно сделать второй сайт, который будет почти копией существующего. оба сайта на одном хосте первый сайт лежит в...

wcf применительно к играм
Доброго DateTime.Now! Взялся за изучение WCF и решил прикрутить его к текущему проекту. Суть такова: Имеется realtime игра до ~15...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru