¿Cómo recortar bordes / espacios en blanco de la imagen?

52

Tengo muchas imágenes que tienen bordes blancos a su alrededor. Me gustaría recortar esos bordes de una vez, preferiblemente desde la línea de comandos. Creo que se puede hacer con ImageMagick, pero no pude encontrar el comando adecuado.

Sé que se puede hacer con el programa de Windows llamado Irfanview con la opción "Bordes de recorte automático", pero estoy buscando una solución basada en Ubuntu y preferiblemente basada en la línea de comandos.

Rafal
fuente
¿Has probado Gimp?
Mitch
1
@ Mitch No, no sabía que Gimp tiene modo por lotes. De todos modos, usar ImageMagick Trim es más simple, así que me quedaré con esa solución.
Rafal
El engaño generalmente sugiere soluciones GUI ...
Wilf

Respuestas:

65

ImageMagick Trim

La opción de línea de comando trimutilizada junto con convert, o le mogrifypermite recortar bordes del mismo color que las esquinas de una imagen.

Uso:

convert input.png -trim output.png

Las opciones adicionales -fuzztambién eliminan colores cerca de los colores de las esquinas. Use la opción +repagepara eliminar un lienzo (si corresponde).

ImageMagick Batch Trim (buscar)

El comando anterior para ImageMagick Trim también se puede usar para procesar imágenes por lotes mientras se combina con el findcomando:

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

recortará todas las imágenes que se ajusten a patternparte del comando y las guardará en una nueva carpeta llamada outputfolder.

Suponiendo que las imágenes son PNG, el comando se verá así:

find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;

ImageMagick Batch Trim (mogrify)

Si bien findpermite un control mucho mayor donde se colocarán los archivos de salida, también es posible hacer lo mismo con ImageMagick mogrify:

mogrify -trim *.png

Tenga en cuenta que, a diferencia de converty la operación por lotes con findy convert mogrify, sobrescribe todos los archivos . Es mejor hacer una copia de seguridad de todas las imágenes en el directorio antes de continuar con el comando mogrify.

Nota al margen: mogrifyse puede utilizar para ejecutar la mayoría de las convertoperaciones (si no todas) en lote, mientras se sobrescriben los archivos originales.

IrfanView

IrfanView funciona bastante bien con Wine . Asegúrese de verificar cuidadosamente la salida de Irfanview, ya que a veces rompe las imágenes cuando se usa con Wine.

Takkat
fuente
Funciona. Muchas gracias. He agregado información sobre el procesamiento por lotes de imágenes con ImageMagick cuando combiné el findcomando, ya que faltaba en su respuesta.
Rafal
99
Solía mogrify -trim *.jpgrecortar todas las imágenes en la carpeta actual.
Buttle Butkus
1
Esto es genial. Me ahorró mucho tiempo. TX :)
antmw1361
@ButtleButkus Edité la respuesta para incluir esa información. Por alguna razón, olvidé esta opción anteriormente.
Rafal
1
¿Hay alguna forma de recortar una imagen png a lo largo de su altura, manteniendo el ancho fijo?
Ddas