Ok, depois de uma outra hora no google eu criei minha própria solução. Em este link existe um script que passa por todas as imagens e as corta enquanto o centro fica no centro. Agora eu tenho minhas fotos recortadas. Com
ww='convert -ping "$f" -format "%w" info:
E percorrendo todos os valores de ww para todas as fotos eu recebo wmax.
wmax='convert xc: -format "%[fx:max($ww,$wmax)]" info:'
Com isso e vários loops
convert $f -gravity center -background white -extent ${wmax}x${hmax} ${f}-canvas.png
Eu obtenho os resultados. Não é legal, eu colha mais uma vez do que o necessário, mas faz o trabalho e eu tenho que terminar minha tese.
#!/bin/sh
# gives the largest x and y values of all png files in directory and puts them in the center of a canvas. This canvas is 10px*10px larger than the largest png file.
# We cycle over all pngs to get maximum w and h
for f in *.png
do
echo "Processing $f file..."
# take action on each file. $f has current file name
wmax=0
hmax=0
# width
ww='convert -ping "$f" -format "%w" info:'
#echo $ww
# height
hh='convert -ping "$f" -format "%h" info:'
#echo $hh
wmax='convert xc: -format "%[fx:max($ww,$wmax)]" info:'
hmax='convert xc: -format "%[fx:max($hh,$hmax)]" info:'
# centertrim $f
# rm $f
# mv $f.out $f
done
echo $wmax
echo $hmax
wmaxp10=$(($wmax + 10 ))
echo $wmaxp10
hmaxp10=$(($hmax + 10 ))
echo $hmaxh10
# now we cycle through all pictures and add them to a canvas with $wmax+10 $hmax+10
for f in *.png
do
echo "Processing $f file..."
# take action on each file. $f has current file name
echo convert $f -gravity center -background white -extent ${wmaxp10}x${hmaxp10} ${f}-canvas.png
convert $f -gravity center -background white -extent ${wmaxp10}x${hmaxp10} ${f}-canvas.png
# centertrim $f
# rm $f
# mv $f.out $f
done