Não tenho certeza se você não pode fazer isso com o convert.
Dê uma olhada aqui:
Aqui está um script que cria miniaturas e identifica a largura e a altura da imagem original:
#!/bin/bash
# Define a fixed resolution
long=500
short=600
# Creating thumbnails
(for i in *.png *.jpg; do
width='identify -format %w $i'
height='identify -format %h $i'
if [ $width -ge $height ]; then
size=${long}x
else
size=x${short}
fi
echo "# Resizing $i $width""x""$height -> $size" ;
convert -resize $size -quality 80 -gravity center -extent $size -background white $i /media/path/to/destination
done
)
Você pode modificá-lo para atender às suas necessidades.