En mi otro blog ya posteé esto, pero bueno :-)
Leyendo el blog de Aladaris ví esta solución para convertir múltiples imágenes desde bash y con ImageMagick.

A mí me entró el gusanillo, y como cualquier cosa es mejor que estudiar cálculo, busqué la forma de hacerlo sólo con Python :-9
Hay una librería muy “maja” llamada python-imaging que podemos encontrar en Ubuntu (sudo apt-get install python-imaging).

#!/usr/bin/python
import Image
import sys   

def convierte(fn_entrada, fn_salida, ancho, largo):
       print "Archivo entrada:" + fn_entrada
       print "Archivo salida:" + fn_salida
       im1 = Image.open(fn_entrada)
       print "El largo es:" + largo + " y el ancho es: " + ancho
       im1 = im1.resize((int(ancho), int(largo)), Image.ANTIALIAS)
       im1.save(fn_salida)   

def imprime_uso():
       print "Uso: ancho largo fichero_1 ... fichero_n"   

# Si no tira, junta las tres líneas bajo el for en una sola :-)    

if (len(sys.argv) >= 4):
        for i in range(len(sys.argv) - 3):
                convierte(sys.argv[3 + i], ("convertido_" +
                             (sys.argv[3 + i])),
                              sys.argv[1], sys.argv[2])
else:
        imprime_uso()
 

Con esto, luego puedes poner:

./convierte.py 400 300 *.jpg

Y a pastar.