Изменение размера и обрезка изображений с соотношением сторон 6×4 с шириной 1024 пикселя

У меня смешанный набор изображений, каждый из которых имеет немного другое разрешение с немного отличающимся соотношением сторон от других изображений.

Я пробовал использовать команды вроде

  • Уменьшить или увеличить громкость пульса на всех выходах
  • mkfifo, файловые дескрипторы и ImageMagick (конвертировать)
  • Не удалось установить SciPy
  • ImageMagick (или другое) для текста в формате UTF-8
  • ImageMagick / GraphicsMagick: как объединить / скомпоновать несколько (3+) изображений без временных файлов за один шаг?
  • Укажите имя файла с curl -upload-файлом
  • convert -resize 

    а также

     convert -crop 

    но, похоже, не может найти правильную команду, чтобы все изображения имели ширину 1024 и соотношение сторон 6×4, не вызывая растяжения изображения или раздавливания.

  • Возможно ли входить в систему как пользователь root без запроса интерактивного пароля?
  • Утилита командной строки для чтения файлов vCalendar
  • Как преобразовать цветной pdf в черно-белый?
  • Преобразование нескольких файлов изображений из формата JPEG в формат PDF
  • найти все конечные подкаталоги в дереве
  • Получить информацию о файле .avi из командной строки
  • One Solution collect form web for “Изменение размера и обрезка изображений с соотношением сторон 6×4 с шириной 1024 пикселя”

    Вы хотите, чтобы все ваши фотографии были 6×4 с шириной 1024, верно? Это означает, что они должны иметь высоту 683 пикселя.

    Если это правильно, то, что вы ищете, это …

    convert <input_image> -resize 1024x683^ -gravity center -extent 1024x683 <output_image>

    … где вы бы заменили с именем файла изображения, которое вы хотите изменить, и с новым именем файла.

    Это обрезает края, чтобы они соответствовали аспекту и изменяли их размер до 1024×683. Это сделает небольшие изображения крупнее, а также сделает большие изображения меньшими по размеру.

    Если вы хотите изменить размер всех изображений в каталоге, вам нужно написать быстрый скрипт bash, который будет выглядеть …

     #!/bin/bash for f in *.[jJ][pP][gG] do echo $f convert $f -resize 1024x683^ -gravity center -extent 1024x683 print_$f done 

    Затем вы просто выполняете скрипт. (Скажем, вы сохранили скрипт как rename.sh , вы запустили chmod u+x rename.sh .) Затем вы запустите скрипт ./rename.sh который изменит размер всех изображений в том же каталоге.

    Linux и Unix - лучшая ОС в мире.