Прежде всего, для наложения и наложения необязательно должны быть одинакового размера. Например, с учетом этих двух изображений:
sydney.png (352x288):
![sydney](https://i.stack.imgur.com/h75Dr.png)
jet2.png (128x129):
![jet2](https://i.stack.imgur.com/tn3Jp.png)
Попробуйте следующие команды:
convert -size 352x288 -composite sydney.png jet2.png -geometry 64x64+176+144 -depth 8 test.png
convert -size 352x288 -composite sydney.png jet2.png -geometry 32x32+176+144 -depth 8 test.png
-size
определяет размеры выходного изображения
-geometry
указывает размеры и расположение переднего плана
Вот что я получаю за первую команду:
![result](https://i.stack.imgur.com/sFVgx.png)
EDIT
Вот скрипт bash, который сделает все за вас в одной строке:
#!/bin/bash
if [ -z "$3" ]
then
echo "usage: $0 background.png foreground.png output.png"
exit 1
fi
bg_size=`identify -format '%wx%h' "$1"`
convert -size $bg_size -composite "$1" "$2" -geometry $bg_size+0+0 -depth 8 "$3"