Операции с изображениями в командной строке Linux

Для операций с изображениями потребуется пакет imagemagick. Командой данного пакета является - convert.

Изменить размер изображения:

convert -resize 1400x1400 image.jpg image.resized.jpg

Размер можно задавать следующими способами:

  • 50% — Высота и ширина заданная в процентах.
  • 50%x10% — Процент заданный для высоты и ширины отдельно.
  • 1200 — Задана только ширина, высоты выставляется автоматически с таким‐же соотношении как было.
  • x800 — Задана высота, ширина автоматически выставляется по соотношению сторон.
  • 1200x800 — Максимальное значение ширины и высоты, соотношение сторон остаётся таким‐же.
  • 1200x800\^ — Минимальное значение ширины и высоты, соотношение сторон остаётся таким‐же.
  • 1200x800\! — Задаётся значение ширины и высоты, соотношение сторон игнорируется.
  • 1200x800\> — Работает также как widthxheight но только если изображение больше указанного размера.
  • 1200x800\< — Изменить разрешение только если оба размера изображения превышают то которое заданно.

Изменить качество изображения:

convert -quality 85 image.jpg image.min.jpg

Массовые операции над изображениями:
1) в текущей директории:

for name in `ls *.jpg`; do convert -resize 1400x1400\> -quality 85 $name $name; done

2) во всех подкатегориях:

for name in `find $PWD -type f -name "*.jpeg"`; do convert -resize 1400x1400\> -quality 85 $name $name; done