7

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

Я пытался использовать такие команды, как:

convert -resize

а также:

convert -crop

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

3 ответа3

4

Обратите внимание, что 1024 не делится на 3, поэтому вы не можете получить точное соотношение сторон 6x4. Я приближаю это к 1024x682.

Команда, которую вы хотите

convert in.jpg -resize '1024x682^' -gravity Center -crop 1024x682+0+0 out.jpg

-resize '1024x682^' масштабирует изображение, сохраняя соотношение сторон, так что либо:

  • ширина = 1024 и высота> = 682, или
  • высота = 682 и ширина> = 1024

Только один из этих критериев может быть выполнен без изменения соотношения сторон (если изображение не было уже 6x4).

-gravity Center -crop 1024x682+0+0 вырезает область 1024x682 с центром в центре изображения. Вы можете использовать различную -gravity зависимости от того, как вы хотите обрезать ваши изображения.

Вы также можете включить опцию -filter для управления алгоритмом, используемым для изменения размера изображения.

0

Я предполагаю, что вы используете Imagemagick.Проблема не связана с каким-либо программным обеспечением, просто вам нужно будет изменить размер, сохраняя соотношение каждого из них, затем обрезать, используя другое соотношение (необходимо потерять часть изображения, а затем, и в других случаях, добавить фрагмент в низ сплошной черный и т. д.). Я склонен делать это с некоторыми бесплатными, Irfanview. Используя опцию Пакетная обработка (просто откройте одно изображение в папке с помощью irfanview и нажмите клавишу b), я бы установил расширенные опции как отмеченные, а затем использовал там опции для изменения размера и обрезки, это обеспечивает большую гибкость.

Ничего, что вы не могли бы сделать с Imagemagick, тем не менее, конечно, вы позволяете ему растягиваться, но вы могли бы форсировать урожай без изменения соотношения ...

Другой способ - использовать меню автоматизации Photoshop в сочетании с ранее выполненным вами действием (макросом).

0

Оригинальное изображение: 798x591

Целевое изображение:

$ convert /var/tmp/eid0.png -crop 798x450-10+50 /var/tmp/eid.png

798 = width  (keep original)
450 = height (customize original to total height)

-10 = x horizontally
+50 = y vertically

это работает хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .