Uso de Automator para recortar en lotes con coordenadas / mediciones personalizadas

4

Estoy tratando de recortar grandes lotes de imágenes automáticamente. Actualmente estoy usando la acción de imágenes de recorte de Automator, pero carece de opciones. Puedo especificar un ancho y alto, y luego realiza un recorte centrado. Quiero poder especificar X e Y, así como el ancho y la altura (para usar los términos de Xcode), por lo que puedo realizar un recorte consistente para cualquier rectángulo personalizado. ¿Hay mejores y más características de recorte disponibles? Preferiblemente gratis ... :)

    
pregunta Hoffma 18.04.2014 - 19:26

2 respuestas

8

Esta es una forma de lograr lo que desea con ImageMagick . Esperamos que te sientas cómodo usando Terminal (y también uses Homebrew para administrar todos tus paquetes).

De cualquier manera, debes instalar ImageMagick para poder ejecutar la línea de comandos convert en la Terminal.

  1. Abra la carpeta en la que desea procesar por lotes todas las imágenes. Si el nombre de su carpeta llamada imágenes se encuentra en el Escritorio, deberá ingresar cd ~/Desktop/images/ en la Terminal.
  2. ImageMagick tiene una opción incorporada para recortar imágenes de acuerdo con el tamaño y las coordenadas. El comando es:

    convert <input documents> <height>x<width>+<pos x>+<pos y> <output filepath>
    

Recortar imágenes con ImageMagick

Si quiero recortar todas las imágenes en:

  • Altura: 300px
  • Ancho: 500px
  • Posición X: 100px desde la parte superior izquierda
  • Posición Y: 70px desde la parte superior izquierda

Puedo ingresar el siguiente comando:

convert *.jpg -crop 300x500+100+70 result/screenshot.jpg

Asegúrese de que exista la vía de acceso de destino. En este caso, debe crear una carpeta llamada result en el escritorio. O puede usar la ruta absoluta como ~/Desktop/result o la carpeta que quiera señalar. Simplemente arrastre la carpeta a la Terminal de esta manera:

    
respondido por el sayzlim 18.04.2014 - 19:52
0

ImageMagick convert funcionó para mí, pero solo después de que lo envolví en un bucle for:

for filename in *.jpg; do\
  convert $filename -crop {height}x{width}+{position-x}+{position-y} "result/$filename"
  echo "$filename done"
done
    
respondido por el jonathanconway 06.12.2018 - 11:03

Lea otras preguntas en las etiquetas