У меня было довольно много уроков фотографии, я прочитал много книг по фотографии и просматривал множество форумов. И я не могу найти последовательный ответ на этот вопрос. Один «лагерь» говорит, что качество изображения теряется каждый раз, когда вы открываете и закрываете файл JPEG (из-за сжатия). Другой лагерь говорит, что качество изображения не потеряется, если вы не отредактируете фотографию, а затем сохраните ее повторно.
Есть ли разница, если:
Может ли кто-нибудь дать простой ответ, когда закрытие или сохранение JPEG приводит к снижению качества изображения, а когда нет?
Это основано на недоразумении. Потеря качества происходит только во время сжатия, когда изображение сохраняется в формате JPEG. Но неважно, редактировалось оно или нет.
Итак: вы ( за некоторыми очень специфическими исключениями, см. комментарии) потеряете качество, если откроете изображение в графическом редакторе и пересохраните его, даже если вы не вносили никаких правок. Но если вы откроете его только для отображения, а затем закроете вместо сохранения, то ничего не изменится.
Кстати: это только для традиционных программ редактирования изображений, таких как Photoshop. Такие программы, как Lightroom, которые «разрабатывают» RAW-файлы, используют другой подход (даже при работе с JPEG-файлами): они всегда сохраняют исходное изображение нетронутым и отдельно сохраняют выполненные шаги редактирования, которые применяются при экспорте окончательных результатов. Так что с такими программами можно не беспокоиться о потере качества (то есть более одного раза). Но тогда вам все равно не следует использовать для них исходные файлы JPEG.
jpegtran
можно использовать для обрезки или поворота JPEG без потерь, среди других различных преобразований. Я часто использую его для дальнейшего уменьшения размера файла и/или удаления ненужных данных, таких как данные EXIF, комментарии и т. д.:jpegtran -optimize -copy none -perfect -v input.jpg > output.jpg
jpegtran
делает что-то совершенно отличное от того, что делает редактор изображений.jpegtran
намеренно не «знает, что не было внесено никаких изменений, и переписывает исходную сжатую схему без дополнительной потери качества», он просто никогда не использует сжатие с потерями .Точно нет. Вам нужно отредактировать файл и повторно сохранить его как JPEG, чтобы усилить эффекты сжатия изображения. Простой просмотр не имеет никакого эффекта — если бы это было так, все JPEG-файлы в Интернете полностью «износились» максимум за день или два.
Сжатие JPEG можно описать как имеющее две отдельные фазы: сначала фазу с потерями, а затем фазу без потерь. Понимание разницы между ними важно для этого вопроса. Это не столько потому, что помогает понять, что происходит, сколько потому, что помогает понять, откуда берутся распространенные ошибки.
Сжатие с потерями происходит только при сохранении файла . Это та часть, которая вызывает потерю качества. Однако простого закрытия файла недостаточно для запуска сжатия с потерями: его необходимо сохранить . Некоторые редакторы могут отказаться сохранять файлы JPEG, которые не были отредактированы, чтобы избежать случайного запуска сжатия без потерь, но я не знаю, действительно ли какие-либо редакторы делают это.
Сжатие без потерь также происходит только при сохранении файла . Основное отличие в том, что даже если бы это произошло, когда файл был закрыт без сохранения, это не имело бы значения, потому что это без потерь. JPEG использует оба метода вместе.
Распаковка без потерь происходит всякий раз, когда файл открывается, но не в любое другое время . Ни при закрытии, ни даже при сохранении. Как и в случае декомпрессии без потерь, не имеет значения, даже если это произойдет в это время, потому что это без потерь.
«Декомпрессия с потерями» никогда не происходит. Нет такого . Не может быть, потому что данные, которые были выброшены на этапе сжатия с потерями, исчезли. Если бы вы могли каким-то образом восстановить его, то у вас был бы алгоритм сжатия без потерь, а не с потерями. Я даже упомянул концепцию только потому, что, упомянув два типа сжатия, было бы странно, если бы я упомянул только один тип декомпрессии, не объясняя почему.
Обратите внимание, что при сохранении файла запускаются оба типа сжатия . Обойти это не так уж и сложно, если только вы не знаете, что изображение не редактировалось, но тогда и сохранять его особого смысла нет. Также обратите внимание, что простое закрытие файла без сохранения не запускает ни одну из фаз , даже «безопасное» сжатие без потерь. По этой причине простое открытие и закрытие файла не может снизить качество изображения .
Простое открытие и закрытие файла JPEG не должно вызывать команду сохранения (в любой известной мне программе), и поэтому повторное сжатие не происходит.
Что происходит в тех случаях, когда вы действительно нажимаете «Сохранить», зависит от того, какие изменения вы внесли, и от того, насколько умна рассматриваемая программа обработки изображений.
Пользователь CutNGlass уже упомянул пример интеллектуальной программы обработки изображений «Better JPEG», которая использует тот факт, что изображения JPEG состоят из множества независимо закодированных прямоугольных блоков пикселей, и только те блоки, которые действительно НЕОБХОДИМЫ, переделываются. -сжато при сохранении изображения. Например, с помощью такой программы можно убрать эффект красных глаз, а при сохранении изображения в формате JPEG повторно сжимаются только те блоки, на которые повлияло изменение. http://www.betterjpeg.com/features.htm
Теперь этот метод, позволяющий избежать повторного сжатия любой части изображения JPEG, которая не нуждается в повторном сжатии, действительно «старая новость» (я не эксперт, и я знаю это более десяти лет), поэтому я считаю само собой разумеющимся, что все хорошие программы обработки изображений к настоящему времени прекрасно справятся с этим (что означает, что обычно не будет никакого повторного сжатия, если просто открыть изображение JPEG и нажать «сохранить», потому что программа будет знать, что никакие блоки не были изменены, и просто оставит их нетронутыми), но, глядя на этот вопрос и его различные ответы, я могу только сделать вывод, что это ВСЕ ЕЩЕ неверно! *Возможно, программирование, стоящее за такими решениями, сложнее, чем я думаю, иначе все программы, работающие с JPEG, имели бы это много лет назад!*
Вы определенно не потеряете качество, просто просмотрев его. Но, как указывалось выше, вы можете потерять качество изображения при его сохранении без внесения изменений , если редактор сжимает его при сохранении файла . Например, предположим, что у вас есть JPEG без сжатия:
Сделайте это 20 раз, и вы увидите значительное снижение качества, потому что он был сжат 20 раз. Если вы сохраните его без сжатия (100% качество), вы не увидите никаких изменений.
Определенно, как и любой файл, если вы не нажмете «сохранить», а просто закроете файл, никаких изменений не будет. (подумайте об этом как о слове Doc, которое вы просто открываете и закрываете)
Если вы внесете изменения, большинство программ предоставят вам уведомление с вопросом, хотите ли вы «сохранить изменения».
Так что однозначно нет на ваш вопрос.
Надеюсь, это поможет.
Проще говоря:
* В зависимости от программы, плохо реализованные программы могут фактически повторно сжиматься, даже если они не нужны, что приводит к потере качества.
Декодирование любых цифровых данных происходит без потерь. Не существует ни одного цифрового формата, в котором простое декодирование и отображение изменяли бы данные.
Это только повторное сжатие данных изображения, которое потенциально может привести к потерям. Некоторые операции редактирования, которые на самом деле представляют собой просто редактирование метаданных, не должны приводить к потере качества, например вращение EXIF без потерь.
Проще говоря Нет .
Чтобы быть конкретным. При сохранении изображения в формате JPEG у вас есть некоторые потери, поскольку JPEG определяется как сжатие с потерями.
Изображение сжато с использованием кодирования Хаффмана, если я не ошибаюсь. Теперь, когда графический редактор открывает изображение, он не распаковывает изображение. Он просто декодирует сжатое изображение, чтобы на экране можно было показать, что в нем содержится.
Но когда вы вносите изменения и повторно сохраняете его, изображение повторно сжимается в новый jpeg с большей потерей данных. Программное обеспечение, такое как GIMP, спросит вас, какое качество вы хотите, поэтому вы можете выбрать 100%, чтобы сохранить существующее качество.
Теперь открытие и закрытие изображения без внесения каких-либо изменений никогда не повлияет на то, как оно хранится и какие данные будут потеряны. Открытие его для просмотра и последующее закрытие не вносит никаких изменений в файл. В любом случае (mp3, изображение, текстовый документ). Поскольку ничего не сохраняется, качество всегда остается неизменным.
Но, как говорилось в предыдущих ответах, если вы действительно беспокоитесь о потере данных, вы можете просто использовать другие форматы, такие как png или tiff.
Кажется, что даже в этих ответах много дезинформации.
JPEG — это стандарт блочного кодирования с потерями. Это код частотной области, который сжимается за счет представления более высокочастотных компонентов изображения с более низкой точностью. Размер блока 8x8 пикселей.
Чтобы закодировать изображение JPEG, вы берете каждый блок, выполняете 2-D DCT и записываете результат в виде зигзагообразного шаблона с меньшим и меньшим количеством битов, начиная с самой низкой частоты и заканчивая самой высокой. Профиль точности определяется одной переменной качества.
Если вы выполнили этот процесс в блоке один раз, вы можете декодировать и перекодировать столько раз, сколько хотите, без потери качества изображения (при условии, что вы всегда используете одну и ту же переменную качества). Это не преувеличение; процесс декодирования и перекодирования блока jpeg можно сделать совершенно без потерь, и любое достойное приложение для редактирования уже может это сделать.
Что это значит для человека, редактирующего изображение? Если вы откроете изображение и сохраните (перекодируете) его с тем же качеством изображения, потери качества не произойдет (ваше приложение для редактирования должно сообщить вам переменную качества, используемую для кодирования изображения). Если вы откроете изображение и отредактируете только его часть, единственные блоки, которые вообще изменятся, — это блоки 8x8, которые вы отредактировали. Все остальное будет точно так же.
Простой ответ: «Это зависит».
Есть ли разница, если:
Я открываю изображение в стандартном просмотрщике изображений и просто «закрываю» изображение?
Должен быть безопасным, поскольку зритель никогда не должен иметь возможности изменить изображение.
Я открываю изображение в редакторе Photoshop Elements и закрываю его там?
Не должен менять имидж.
Если я просто закрою изображение и пересохраню его?
Закрытие изображения не должно менять изображение. Повторное сохранение изображения, скорее всего, изменит его, в зависимости от используемых вами плагинов.
Одна из причин, по которой вы найдете так много разных ответов на вопрос «когда закрытие или сохранение JPEG приводит к снижению качества изображения, а когда нет?» заключается в том, что это зависит от очень многих разных вещей, в том числе: программного обеспечения, которое вы используете для редактирования изображения, подключаемых модулей, установленных в этом программном обеспечении, выполняет ли ваше программное обеспечение «автоматическое сохранение» и от настроек, которые вы используете при сохранении изображения в формате jpg! Собственно поэтому я и не редактирую исходные файлы.
Я не пользуюсь фотошопом, но для него доступен подключаемый модуль, который должен помочь решить конкретную проблему — избежать потери качества изображения при сохранении в формате jpeg: http://www.betterjpeg.com /jpeg-плагин.htm
Подключаемый модуль Better JPEG Lossless Resave для Adobe Photoshop и Adobe Photoshop Elements — это инструмент, предназначенный для предотвращения потерь при повторном сжатии при повторном сохранении отредактированных изображений JPEG в Photoshop. Плагин использует тот факт, что изображения JPEG состоят из нескольких небольших независимых блоков и не сжимает повторно неизмененные блоки.
Интересные наборы ответов. Но некоторые все же немного вводят в заблуждение. попробую обобщить.
1) Открытие файла никак на него не влияет. Тоже закрываю. Не в программе просмотра или редактирования.
Есть вероятность, что вы просматриваете файл по-разному в разных программах, но это может быть связано с тем, как эта программа интерпретирует некоторую информацию, такую как цветовой режим или цветовой профиль. Но этот процесс только читает его.
2) Выполнение операций без потерь, таких как поворот изображения. Обычно программы просто переупорядочивают данные файла jpg без анализа и повторного сжатия. Но я бы не стал палить руками за все программы, которые предполагают это делать.
3) Открытие и сохранение с одинаковым сжатием в одной и той же программе.
Первое повторное сжатие выполняется при первом сохранении файла jpg. Если вы сохраните файл во второй раз с теми же настройками, первоначальная потеря данных уже выполнена, но небольшие изменения можно будет применить снова. Не в такой степени, как первый, но может быть заметно, делая это несколько раз. Но это зависит от программы.
4) Наиболее очевидным является повторное сохранение с другой настройкой сжатия.
Не только в «масштабе» того, что есть в программе, но и в используемом алгоритме. Это слишком технично, но есть как минимум два основных алгоритма сжатия 4:4:4 и 4:2:2.
Вы можете использовать «ползунок» в своей программе для максимального «качества», но если ваша программа использует 4: 2: 2, а оригинал был на 4: 4: 4, у вас будет значительная потеря данных.
Вот небольшой документ, который я сделал несколько лет назад, чтобы вы могли видеть, что означает эта потеря данных, он на испанском языке, но вы можете использовать переводчик Google: http://otake.com.mx/Apuntes/PruebasDeCompresion2/1-CompresionJpgProceso.htm
5) Если открыть изображение и пересохранить его в программе с ограниченными возможностями. Например, вивер может сохранять только файлы RGB и не работать должным образом с файлами CMYK, или, возможно, он не понимает встроенный цветовой профиль. Вы можете полностью испортить изображение при сохранении.
6) Использование большого сжатия. Вы сохраняете его для своего веб-сайта и сжимаете. Не удаляйте свои оригиналы, пожалуйста!
7) Рекомпрессия обычно выполняется на всем изображении, но как я уже упоминал в пункте 3, ее немного, если изображение не изменилось. Когда вы редактируете изображение, этот анализ должен быть сделан снова на этой отредактированной части.
Помните, что редактирование можно разделить на три группы.
а) Коррекция цвета, контраста и т. д.
б) Изменение одной части изображения (красные глаза, удаление человека, очистка нежелательных пятен)
в) Совершенно новый коллаж.
Так что в некоторых случаях изображение совершенно другое, по крайней мере, с точки зрения анализа и рекомпрессии.
В этом посте: https://photo.stackexchange.com/a/67434/37321 пользователь упомянул программу, которая делает очень умный анализ существующего сжатия и не сжимает его повторно, если в этом нет необходимости.
Да, это очевидно! Я просто сделаю это с образцом изображения и качеством JPEG 30, чтобы ускорить исходное изображение. (160 Кб)
Таким образом, JPEG не снижает значительно качество изображения, если вы не изменяете размер или не меняете показатель качества. Изображение продолжит медленно ухудшаться, но незначительно. А теперь я удаляю всего 4 пикселя с изображения (столбец справа). И снова сохранить.
Значительное ухудшение. Чтобы объяснить это, нам нужно углубиться в алгоритм JPEG. В любом случае, если вы оказались в такой ситуации, имейте в виду – это еще не конец. Существует несколько отличных программ для удаления шума в формате JPEG, например супер-разрешение и улучшение изображения нейронной сети. Я загрузил последнее изображение (самое худшее) в этот сервис и вот что у меня получилось. Действительно хороший результат.
ЭлендилВысокий
Майкл Боргвардт
На перерыве.