ImageMagick múltiples operaciones en invocación única
Estoy tratando de hacer que ImageMagick realice múltiples operaciones (en este caso, cultivos) en una sola invocación, pero no parece posible. Por ejemplo, puedo hacer un recorte, rotar y luego otro recorte como dos comandos separados:
$ convert test.jpg -crop 223x187+588+757 -rotate 330 crop2.jpg
$ convert crop2.jpg -crop 200x100+43+87 crop3.jpg
Pero si trato de combinarlos en un solo comando, aparece un error:
$ convert test.jpg -crop 223x187 + 588 + 757 -rotate 330 -crop 200x100 + 43 + 87 crop3.jpg convert: la geometría no contiene la imagen `test.jpg '@ warning / transform.c / CropImage / 666.
Obviamente, podría crear una tubería, pero si es posible, quiero evitar la sobrecarga adicional de múltiples procesos. ¿Hay alguna forma de hacer esto?
Actualización: Además, una tubería parece problemática: no quiero una etapa adicional de compresión / descompresión, así que trato de canalizarla como RGB, pero parece que no puedo obtener los parámetros correctos:
convert test.jpg -crop 223x187+588+757 -rotate 330 rgb:- | convert -size 287x273 -depth 8 rgb:- -crop 200x100+43+87 crop3.jpg
convert: unexpected end-of-file `-': No such file or directory @ error/rgb.c/ReadRGBImage/231.
Ok, resulta que el error anterior se debe a que mi tamaño calculado para la imagen difiere de los cálculos de ImageMagick en dos píxeles. Entonces, obviamente, tener que tratar de obtener el cálculo del tamaño de la imagen exactamente igual a IM es un problema adicional introducido por la necesidad de canalizar los dos comandos.