Во-первых, убедитесь, что все ваши системные пакеты обновлены
sudo apt update
sudo apt upgrade
Устанавливаем imagemagick
sudo apt install imagemagick
Проверяем
convert logo: logo.gif
Mogrify или Convert
IM использует convert для обработки картинок по одной, а mogrify обычно нужен для пакетной обработки.
Но для пакетной обработки огромного количества фотографий, например более 100 000 рекомендую использовать find. Где фигурные скобки — это найденный файл, а слеш с точкой запятой — конец команды -exec.
find ./ -type f -exec команда {} \;
Конвертировать PNG в JPG с прозрачностью
https://stackoverflow.com/questions/47954470/convert-png-with-transparency-to-jpg
convert *.png -background white -alpha remove -set filename:currentfile '%t' '%[filename:currentfile].jpg'
Преобразовать в квадрат
convert -define jpeg:size=1024x1024 *.png -thumbnail '1024x1024>' -background white -alpha remove -gravity center -extent 1024x1024 -set filename:currentfile '%t' '%[filename:currentfile].jpg'
Изменить размер
С сохранением пропорций можно указать только ширину или высоту, опустив второй параметр
width x hight
convert -resize x324 original_image.jpg -quality 90 resize_image.jpg
или
convert -resize x324 *.jpg -quality 90 -set filename:currentfile '%t' ../thumbnail/'%[filename:currentfile]_324.jpg'
Проверим размер у папки с фотографиями (должна быть раз в 10 меньше исходного)
du -h --max-depth=1 | sort -hr