Сжатие Jpeg в Linux

С движением технического прогресса расширение изображений получаемых с помощью новейших гаджетов (смартфонов, цифровых камер)  продолжает расти. Например Nicon D800, недавно попавший на полки магазинов позволяет делать снимки качеством 36,3 мега пикселей и эта тенденция будет продолжаться. В то время как новые гаджеты увеличивают качество изображений, мы должны сжимать размер их перед отправкой на хранение или загрузкой в облако.

Есть простой способ сжимать изображения jpeg в Linux. Утилита называется Jpegoptim, она позволяет сжимать снимки без потерь качества. Также если пространство на диске ограничено есть возможность регулировать качество при сжатии.

Установка Jpegoptim в Linux

Для установки в Ubuntu, Debian и Linux Mint используйте:

sudo apt-get install jpegoptim

В Fedora выполните:

sudo yum install jpegoptim

В RHEL и CentOS сначала необходимо добавить репозиторий EPEL repo а затем выполнить:

sudo yum install jpegoptim

Сжатие JPEG без потери качества

Чтобы сжать картинку без потерь качества просто выполните:

jpegoptim -v photo.jpg

photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 821064 bytes (6.93%), optimized.

Оригинальное изображение будет заменено сжатым. Если jpegoptim не сможет оптимизировать изображение без потерь, оно не будет перезаписано.

jpegoptim -v photo.jpg

photo.jpg 2048x1536 24bit N ICC JFIF [OK] 821064 --> 821064 bytes (0.00%), skipped.

Если вы хотите сохранить оригинальное изображение используйте опцию d чтобы указать директорию для сохранения.

jpegoptim -d ./compressed photo.jpg

Все сжатые изображения будут помещены в указанную папку, например ./compressed.

Если вы хотите сберечь дату создания или модификации используйте опцию -p. Сжатое изображение будет помечено той же датой и временем что и исходное.

jpegoptim -d -p ./compressed photo.jpg

Если вы просто хотите проверить степень сжатия без потерь не перезаписывая изображение воспользуйтесь опцией -n. Команда просто выведет результат не изменяя картинку:

jpegoptim -n photo.jpg

Сжатие JPEG с потерями

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

Для этого используйте опцию -m qualiy. В место quality нужно указать максимальное качество от 0 до 100 (0 — самое высокое качество и минимальные потери, 100 — низкое качество, максимальные потери).

Например для сжатия изображения с сохранением 50% качества используйте:

jpegoptim -m50 photo.jpg

photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 301780 bytes (65.79%), optimized.

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

16260736234_6d6f1d2434_c

Сжатие нескольких изображений

Часто необходимо обработать несколько изображений в папке. Для этого можно использовать следующий скрипт:

!/bin/sh

#сжимает все *.jpg файлы в текущем каталоге
# и помещает их в подкаталог ./compressed
# с той же датой модификации что и в оригинальных файлах.
for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done

Или команду xargs:

find . -name "*.jpg" | xargs jpegoptim -d ./compressed -p

Creative Commons License
Статья Сжатие Jpeg в Linux распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Ваше имя тоже может быть здесь. Начните писать статьи для Losst. Это просто! Смотрите подробнее как начать писать статьи - Пишите для нас

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

3 комментария

  1. Илья Май 11, 2016 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: