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

У меня есть 2 300+ снимков, которые я хочу передать на свой телефон, но в оригинальном размере они занимают много места (6,44 ГБ), которые я бы хотел обрезать, без ущерба для качества или разрешения. Я знаю, что это может быть сделано под Linux с чем-то вроде pgncrush. В настоящее время у меня есть доступ к системе Windows, и все файлы в формате JPEG.

Как мне это сделать?

Ответы [ 10 ]

17 голосов
/ 14 декабря 2012

Размер файла, качество, разрешение - выбирайте любые два.

Если у вас были изображения в несжатом формате, таком как BMP, то вы могли бы сделать их немного меньше, не жертвуя качеством или разрешением, сохранив их в сжатом формате, не обеспечивающем сжатие с потерями, например PNG-24.

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

Поскольку вы собираетесь показывать изображение на телефоне, вы можете пожертвовать небольшим количеством качества, не получив заметных различий. Если изображения JPEG сохраняются с качеством 100, вы можете попробовать сделать копию, например, с качеством 80, и посмотреть, достаточно ли это для ваших нужд.

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

5 голосов
/ 14 декабря 2012

Давайте начнем с понятия: компрессоры могут уменьшить размер чего-либо (например, текстового файла), обрабатывая его и представляя ту же информацию с использованием меньшего количества символов. Так Zip делает текстовый файл меньше. Это сжатие без потерь.

Изображения и аудио (и, следовательно, видео) используют очень большое количество информации: например, изображение размером 5 мегапикселей в формате, который ничего не сжимает (например, TIFF), будет занимать 5 мегабайт x 3 цвета * RGB ) = 15 МБ свободного места.

Чтобы уменьшить размер файла, в формате JPEG вы теряете некоторую информацию из картинки: будь то качество, цвета и т. Д. Вот почему вы можете открыть JPEG в какой-либо программе для редактирования фотографий (Photoshop, Gimp и т. Д.), А затем сохраняйте его с меньшим качеством: он будет использовать меньше информации для представления вашего изображения с меньшим размером файла, но потеряет некоторое качество. Если вы (или любой другой человек) сможете заметить низкое качество, это важный момент при выборе «какой степени сжатия» вы хотите.

Итак: в общем, в практических целях вы потеряете много качества, чтобы уменьшить размер изображения JPEG, потому что оно уже сжато.

Но вы хотите использовать это в своем мобильном телефоне, верно?

Вы не сказали, какой у вас мобильный телефон. Давайте предположим, что у вас есть Samsung galaxy s3 . Вы можете видеть его характеристики: разрешение экрана составляет 1280x720 пикселей.

Таким образом, при просмотре изображения на нем не имеет значения исходный размер изображения: вы сможете увидеть 1280x720 пикселей, поскольку это максимальное количество пикселей, которое будет отображать ячейка.

Если вы возьмете все свои снимки, измените их размер до 1280x720 пикселей и откроете в своем телефоне, вы увидите их так же, как вы видели бы их с исходным разрешением. Вы потеряете «разрешение» по сравнению с исходным изображением, но вы все равно не сможете увидеть его в своем телефоне ...

Как вы это делаете в Windows : используйте любую понравившуюся вам программу, способную редактировать изображения: Photoshop, Gimp, IrfanView ... но так как вы говорите об этом в большом количестве файлы, вероятно, вы думаете о ImageMagick или аналогичной программе, которая может выполнять ту же операцию с большим количеством файлов.

Редактировать: чтобы сделать это с Imagemagick:

1 - скопируйте все свои снимки в новую папку (например, Temp1), чтобы не потерять оригиналы

2 - создайте новую папку, где ваши изображения будут после изменения размера (например: Temp2)

3 - открыть окно cmd, перейти в каталог с скопированными изображениями (Temp1)

4 - тип:

mogrify -path full_path_to_Temp2 - изменить размер 1280x720 * .jpg

2 голосов
/ 19 апреля 2016

Ах, хорошо, что вы ответили сами, но изменили свои требования. «Без потери качества» и «без потери качества невооруженным глазом» значительно отличаются с изображениями.

Кроме того, PNGcrush и opt-jpg работают совершенно по-разному; только отмечая это, потому что вы упомянули PNGcrush в своем OP. PNGcrush оптимизирует только метаданные об изображении, но не само изображение. Вот почему вы обычно получаете только 1-2%.

Честно говоря, два изображения в вашем ответе выглядят совершенно по-другому, на мой взгляд. Оптимизированное изображение намного более размыто и имеет меньшую глубину черного. Так как это JPEG, это, вероятно, было сделано путем сжатия палитры, что сделает изображение ... другим.

Ответ на ваш первоначальный вопрос заключается в том, что вы не можете значительно уменьшить размер файла без ущерба для какого-либо качества (за исключением ранее упомянутой экономии 1-2% за счет сжатия метаданных или тегов.) , т. Е. , путем удаление данных EXIF ​​и так далее, в зависимости от формата файла (RAW, TIFF, JPEG).

Чтобы уменьшить размер файла с помощью любой реальной меры, вы должны либо потерять качество, либо разрешение, либо и то и другое. Если бы это было не так, фотограф не стал бы обрабатывать RAW.

2 голосов
/ 13 июня 2014

Вы можете получить оптимизацию без потерь (на основе оптимизации таблиц Хаффмана). Утилита jpegoptim предоставляет этот алгоритм.

Установите его с помощью (в Debian):

apt-get install jpegoptim

Чтобы запустить симуляцию (без действия):

jpegoptim -n -p dsc07844.jpg

возвращается:

dsc07844.jpg 3872x2592 24bit Exif  [OK] 3057132 --> 2518805 bytes (17.61%), optimized.

Для оптимизации:

jpegoptim -p dsc07844.jpg

Сохраняет метаданные exif

1 голос
/ 07 июня 2016

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

Некоторые опции включают

  • JPEG2000 , определяемый расширением .jp2, является несколько более старым форматом, который просто никогда не становился популярным. Он использует вейвлет-преобразования, а не DCT (дискретное косинусное преобразование) jpeg, что приводит к менее выраженным артефактам, что позволяет обеспечить большее сжатие с сопоставимым воспринимаемым качеством. Они претендуют на преимущество в 20%. https://en.wikipedia.org/wiki/JPEG_2000

  • Google WebP использует более продвинутые алгоритмы (если я правильно понимаю, это аналог сегодняшнего лучшего сжатия H.265 для видео по сравнению с MPEG), которое, как они утверждают, может сэкономить 40% с эквивалентным качественный. http://www.cnet.com/news/google-offers-jpeg-alternative-for-faster-web/#!

  • BPG (для «лучшей портативной графики») - это новый проект с открытым исходным кодом. Похоже, что он похож на WebP с дополнительными преимуществами, такими как улучшенная битовая глубина и динамический диапазон, но на сегодняшний день он менее совместим с различным программным обеспечением. http://bellard.org/bpg/

Если вам нужны подробности о том, как эти и некоторые другие сравниваются, вы можете увидеть диаграммы и графики здесь: https://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/

0 голосов
/ 07 июня 2016

"Image Resizer for Windows" - отличная бесплатная утилита для пользователей Windows, занимающая менее 1 МБ. Все образы размером 5 МБ или 10 МБ могут быть обработаны до размера менее 200 КБ с почти одинаковой четкостью. Проблема в том, что эти 10 МБ изображений имеют разрешение 4000 X 3000, но ваш телефон или компьютер - только треть от этого, что делает его почти таким же. Поэтому, если вы не собираетесь распечатывать какие-либо из них, я рекомендую сжать ваши изображения с помощью этого очень простого инструмента. Просто выберите все файлы, щелкните правой кнопкой мыши и скажите «Изменить размер». Он преобразует 100 изображений менее чем за минуту.

0 голосов
/ 07 июня 2016

в Windows я использую программу под названием RIOT (Радикальный инструмент оптимизации изображений). До сих пор это лучшее, что я знаю.

http://luci.criosweb.ro/riot/

0 голосов
/ 15 декабря 2012

Я нашел ответ, который искал. Ответ opt-jpg для Linux. Я не нашел его в хранилище Ubuntu. Таким образом, вы должны загрузить исходный код littleutils (http://sourceforge.net/projects/littleutils/), в который включен opt-jpg.

Для установки из источника. Загрузите Tar с помощью wget и:

tar jxvf littleutils-1.0.27.tar.bz2 && cd littleutils-1.0.24

...

./configure --prefix=/usr && make && make install && make install-extra

Вы должны быть пользователем root, поэтому sudo su

Например, я использовал изображение утки. Неоптимизированный файл имеет размер 1.1M после оптимизации, его 991kb без потери качества изображения (невооруженным глазом) или изменения разрешения изображения. Это может показаться не огромной разницей (сокращение на 108 КБ), но с 2300+ изображениями и размером в среднем 6,44 ГБ при том же уменьшении размера может занять много места. enter image description here

Вы можете увидеть исходное изображение утки, загруженное на flickr: enter image description here

И оптимизированный: enter image description here

Может ли невооруженный глаз заметить разницу?

Что касается того, сколько места я действительно сэкономил. Вам придется подождать некоторое время, потому что мне придется дать ему поработать, когда я не использую комп. Это займет некоторое время, и я не забуду доложить.

0 голосов
/ 14 декабря 2012

Вы можете использовать программу под названием Moo0 Image Sizer , которая позволяет повторно масштабировать много изображений одновременно (по состоянию на 15 декабря 2012 года доступны форматы jpg, png, bmp и gif).

Программа бесплатна для некоммерческого использования.

0 голосов
/ 14 декабря 2012

Вам нужно «сжать» папку - Есть несколько способов сделать это - классический способ «застегнуть» их.

В Windows (XP и далее) щелкните правой кнопкой мыши папку, в которой она находится, нажмите «Отправить», затем «Сжатая папка»

Это должно уменьшить размер папки и сохранить ее в виде ZIP-файла.

ОДНАКО - файлы Jpeg уже сжаты в своей собственной кодировке, поэтому окончательный сжатый файл может фактически не сильно отличаться.

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...