Пакетная обработка картинок в Linux
Как обработать сразу сотню картинок в Linux: XnConvert с графическим интерфейсом, ImageMagick из терминала и GIMP. Установка в Ubuntu, конструктор готовых команд для изменения размера, конвертации, водяных знаков и сжатия.
Задача «уменьшить двести фотографий и перевести их в WebP» решается в Linux тремя способами: мышкой в XnConvert, одной командой в ImageMagick или, для разовой пачки, прямо в браузере. Ниже — когда что удобнее, как поставить нужное в Ubuntu и готовые команды под конкретные задачи: соберите свою в конструкторе и скопируйте одной кнопкой.
Конструктор команд: пакетная обработка картинок
Выберите задачу и параметры — получите готовую команду ImageMagick для целой папки.
Что выбрать под задачу
| Инструмент | Когда удобнее | Чего не умеет |
|---|---|---|
| XnConvert | нужен предпросмотр, сложная цепочка действий, работа мышкой | требует установки, тяжеловат для одного файла |
| ImageMagick | повторяющиеся задачи, сотни файлов, запуск по расписанию | нет предпросмотра, нужно знать команды |
| GIMP | ретушь и ручная правка отдельных снимков | пакетная обработка только через скрипты |
| Конвертер в браузере | разовая пачка до полусотни картинок | не поставит водяной знак и не обрежет по-хитрому |
Практика обычно такая: разовую задачу проще сделать конвертером в браузере, регулярную — командой ImageMagick, а сложную цепочку с подбором параметров — в XnConvert.
XnConvert: графический комбайн
XnConvert умеет то, чего нет у большинства простых конвертеров: последовательность действий. Можно за один проход изменить размер, повернуть по EXIF, наложить водяной знак, добавить рамку, поменять формат и переименовать файлы по шаблону.
Установка в Ubuntu — через Flatpak, это самый простой путь и версия всегда свежая:
sudo apt install -y flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install -y flathub com.xnview.XnConvertРабота строится по трём вкладкам: «Входные данные» — перетаскиваете файлы или папку; «Действия» — добавляете шаги обработки, каждый со своими настройками и предпросмотром; «Выходные данные» — формат, качество, куда сохранять и как называть файлы.
Главное удобство: цепочку действий можно сохранить как набор настроек и применять к новым папкам в один клик. Если каждую неделю готовите картинки для сайта по одним правилам — это экономит больше времени, чем кажется.
ImageMagick: одна команда вместо программы
ImageMagick — это набор консольных утилит, которые есть почти в каждом дистрибутиве. В седьмой версии всё работает через единую команду magick, в более старых — через convert и mogrify.
Три команды, которые закрывают большинство задач:
# уменьшить все JPG по ширине до 1600 px, результат — в отдельную папку
magick mogrify -path resized -resize 1600x -quality 88 *.jpg
# перевести всё в WebP, сохранив имена файлов
for f in *.jpg; do magick "$f" -quality 82 "converted/${f%.*}.webp"; done
# повернуть снимки по данным EXIF, чтобы не лежали на боку
magick mogrify -path fixed -auto-orient *.jpgРазница между convert и mogrify важная: первая делает новый файл, вторая по умолчанию меняет исходный. Поэтому -path в примерах не украшение, а страховка.
Остальные варианты — водяные знаки, кадрирование в квадрат, удаление полей, сжатие без потерь — собраны в конструкторе выше с подстановкой ваших папок и размеров.
Сжатие без потери качества
Отдельная задача — дожать уже готовые файлы, ничего не изменив визуально. Работают два инструмента:
sudo apt install -y jpegoptim optipng
jpegoptim --strip-all --all-progressive *.jpg
optipng -o3 -strip all *.png--strip-all и -strip all удаляют метаданные: EXIF с координатами съёмки, моделью камеры и датой. Для публикации в интернете это правильно и с точки зрения приватности, и по весу — иногда метаданные занимают больше самой картинки, особенно у мелких превью.
Оба инструмента меняют файлы на месте, так что копия перед запуском обязательна.
Автоматизация: обработка по расписанию
Если картинки регулярно попадают в одну папку (например, со сканера или из камеры наблюдения), обработку можно повесить на таймер systemd или cron:
#!/bin/bash
cd /srv/photos/incoming || exit 1
mkdir -p ../ready
magick mogrify -path ../ready -resize 1920x\> -quality 85 *.jpg 2>/dev/null
jpegoptim --strip-all -q ../ready/*.jpg
mv *.jpg ../archive/ 2>/dev/nullСкрипт делается исполняемым (chmod +x) и добавляется в crontab -e строкой вида */30 * * * * ~/bin/optimize-images.sh. Права на папки и запуск от нужного пользователя — тема отдельной статьи про sudo.
Что читать дальше
- Конвертер картинок в WebP — когда нужно быстро и без установки программ.
- Генератор favicon — из логотипа сразу весь комплект иконок сайта.
- Root и sudo в Ubuntu — права и запуск скриптов по расписанию.
- Как открыть RAR, 7z и ZIP — если картинки приехали в архиве.
Частые вопросы
Как установить XnConvert на Ubuntu?
Проще всего через Flatpak: flatpak install flathub com.xnview.XnConvert. Так программа обновляется автоматически и не конфликтует с системными библиотеками. Альтернатива — .deb с сайта XnView.
Чем ImageMagick лучше графических программ?
Он повторяем: одну и ту же команду можно запускать хоть каждый день по расписанию, применять к тысячам файлов и подставлять в скрипты. Для однократной задачи с подбором параметров удобнее графический интерфейс.
В чём разница между convert и mogrify?
convert (в новых версиях magick) создаёт новый файл, mogrify изменяет исходный. Для пакетной обработки используйте mogrify с ключом -path, который направляет результат в другую папку.
Как уменьшить картинки, не увеличивая маленькие?
Добавьте к размеру символ >: -resize 1600x\>. Тогда файлы шире 1600 пикселей уменьшатся, а более узкие останутся без изменений.
Как убрать метаданные из фотографий?
Ключом -strip в ImageMagick либо утилитами jpegoptim --strip-all и optipng -strip all. Вместе с метаданными удаляются координаты съёмки — это стоит делать перед публикацией снимков в интернете.
Можно ли обработать картинки без установки программ?
Да, для разовой задачи подойдёт наш конвертер: он работает прямо в браузере, обрабатывает до 50 файлов за раз и умеет менять размер и формат.
Почему после обработки фотографии повернулись неправильно?
Снимки с телефона хранят ориентацию в EXIF, а при удалении метаданных она теряется. Добавляйте -auto-orient до удаления EXIF — тогда изображение развернётся физически и останется правильным.
Если статья пригодилась — отметьте, это помогает выбирать темы
Статья помогла?
Комментарии
Пока никто не написал. Будьте первым — вопрос или свой опыт одинаково полезны.