Какова лучшая стратегия для уменьшения размера файла изображения? - Фотопедия
0 голосов
/ 27 марта 2016

Изображения, созданные камерой или сканером, могут получить очень большой размер файла. этот огромный размер имеет недостатки:

  • Не удается отправить по почте.
  • Невозможно опубликовать на веб-сайте
  • Любое действие злоупотребляет процессором компьютера и занимает много времени
  • Хранение в облаке или даже локально может вызвать некоторые проблемы

Уменьшение размера файла может решить эти проблемы, но может настолько сильно исказить изображение, что его эффективность становится бесполезной.

Таким образом, вопрос заключается в следующем: каков, если вообще возможно, наилучший подход к уменьшению размера файла без потери качества? Изменить тип файла? Изменить размер (если так, как)? Удалить информацию об изображении (что и как)?

Ответы [ 2 ]

0 голосов
/ 28 марта 2016

Вот некоторые утверждения, которые вы можете скомпилировать в ответ на вопрос, который у вас есть, но мы не знаем о:

  • сокращение не может быть периодом без потерь
  • Уменьшение на 1/2, 1/3, 1/4 и т. Д. Означает, что повторная выборка не требуется и сохранит внешний вид изображения несколько лучше
  • однако большинство изображений (особенно неотредактированных изображений с камер с сенсорами Байера) не требуют разрешения, которое они имеют для сохранения имеющихся у них деталей, т.е. имеют избыточную информацию, часть которой может быть потрачена без визуального эффекта, и повторная выборка не будет быть слишком плохим в этом случае
  • кодирование изображения в большинстве случаев абстрагируется от любых видимых манипуляций. Кодирование изображения чаще всего (еще не видел контрпример) сохраняет размеры пикселя изображения, поэтому нет смысла спрашивать о том, как изменение размера связано с без потерь
  • Кодирование изображения может прямо или косвенно влиять на следующие характеристики: глубина в битах, распределение тонов, хроматическое разрешение
  • кодирование изображения может создавать артефакты (ложные данные) разных видов (например, низкое качество JPEG2000 сильно отличается от LQ JPEG)
  • изменение размера может быть выполнено с помощью различных алгоритмов, из которых худший - "ближайший сосед", лучший - "билинейный", тот, который во всех случаях хорош, "бикубический", тот, который подходит для изменения размера без резкости картинка "бикубическая четкость" (увеличивает резкость вместе с уменьшением размера, ее следует аккуратно применять к заостренным изображениям), и, вероятно, лучшим из всех доступных является "Lanczos" (не включает резкость).
  • существует множество алгоритмов кодирования изображений, из которых я рекомендую попробовать JPEG2000, WebP и FLIF (могут быть без потерь и с потерями) или, если у вас нет особого интереса к качеству, вам будет хорошо с JPEG. Кодирование PNG хорошо для изображений с большими однородными областями, которые не содержат шума (это важно).
  • Кодирование PNG может быть с потерями в зависимости от реализации, но когда в программном обеспечении нет опций для выбора с потерями / без потерь (большинство программ этого не делает), можно с уверенностью предположить, что изображение будет сжато без потерь.

P.S. Я намеренно говорю, что в случае упомянутой шкалы изменения размера может не произойти повторная выборка, потому что для повторной выборки сначала должен быть интерполированный , но это не требуется для вычисления интерполанта, если все входные пиксели строго разделены между выходными пикселями и не могут влиять на другие пиксели. Разумеется, можно реализовать изменение размера таким образом, чтобы интерполант всегда вычислялся, но он по-прежнему НЕ требуется (это то, что я говорил изначально, а не то, что в этом случае повторная выборка всегда пропускается).

Может быть доказано, что если непрерывное изображение дискретизируется с помощью AxB и (N*A)x(N*B) выборок, то последнее может быть точно уменьшено до первого без потери сигнала. Это то, что обеспечивает несколько лучшее качество, а не отсутствие самой передискретизации.

Обычно любое изменение в дискретизации называют «пересэмплированием», но я игнорирую это (так же, как я игнорирую общее заявление о том, что цели с большим фокусным расстоянием сжимают перспективу). Пожалуйста, создайте чат, если вы хотите опровергнуть мои заявления.

P.P.S. К этому относится и теорема Найквиста-Шеннона .

0 голосов
/ 27 марта 2016

В этом вопросе не хватает информации, поскольку файл BMP (несжатый) размером 3 МБ может быть сжат на 10 КБ или 1 МБ в зависимости от того, что у вас на этом изображении. Давайте подумаем, что это фотография, например портрет.

Вы не говорите, можете ли вы повторить его или нет. Есть два разных термина. Размер файла (размеры в пикселях) и вес файла (использование дискового пространства).

Для фотографии без передискретизации единственный способ - использовать сжатие с потерями, например JPG.

В этих тестах я сделал http://otake.com.mx/Apuntes/PruebasDeCompresion2/4-CompresionJpg5Porciento.htm Я обнаружил, что можно сжать фотографию до примерно 5% без заметных артефактов. Но есть шанс, что вам понадобится еще немного сэмплировать.

1) В фотошопе повторная выборка с использованием бикубической резкости. Попробуйте различные соотношения, например, 80% от исходного размера.

2) Отточить немного.

3) Сохранить в Интернете. Поэкспериментируйте с различными значениями, пока вы не будете в порядке с результатами с точки зрения визуального качества и размера.


Полную методологию, которую я использовал, смотрите на этой другой странице: http://otake.com.mx/Apuntes/PruebasDeCompresion2/1-CompresionJpgProceso.htm

Пожалуйста, используйте Google Translate.

...