Как уже ответили _ Imagemagick. В качестве примера - скрипт, запущенный в папке с исходными фото, создаст в ней же папку conv (к примеру) и в неё разместит отресайзенные фотки, с сохранением имени.
#!/bin/sh
mkdir conv
for f in *.JPG *.png; do
convert "$f" -resize 720x576 -quality 40 conv/"$(basename "$f" | cut -f 1 -d '.')".jpg
done