С движением технического прогресса расширение изображений получаемых с помощью новейших гаджетов (смартфонов, цифровых камер) продолжает расти. Например 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
Оригинальное изображение будет заменено сжатым. Если jpegoptim не сможет оптимизировать изображение без потерь, оно не будет перезаписано.
jpegoptim -v photo.jpg
Если вы хотите сохранить оригинальное изображение используйте опцию 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
Вы получите изображение намного меньшего размера за счет снижения качества.
Сжатие нескольких изображений
Часто необходимо обработать несколько изображений в папке. Для этого можно использовать следующий скрипт:
!/bin/sh
#сжимает все *.jpg файлы в текущем каталоге
# и помещает их в подкаталог ./compressed
# с той же датой модификации что и в оригинальных файлах.
for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done
Или команду xargs:
find . -name "*.jpg" | xargs jpegoptim -d ./compressed -p
Ахахаха. Полная копия этой статьи. Указывайте исходники статей или сами пишите
Источник: http://rus-linux.net/MyLDP/consol/Howto-compress-JPEG-in-command-line.html
Это не копия, а перевод. Вот источник: http://ask.xmodulo.com/compress-jpeg-images-command-line-linux.html
Спасибо за ссылку, статьи действительно очень похожи, так как написаны из одного источника, ее нужно переделать.