Das Script sieht eigentlich ganz gut aus.
Was genau meinst du mit "praktisch unkenntlich"? Wird wirklich der Inhalb verändert, oder sieht es nach JPEG-Artefakten aus? Unter Umständen komprimiert imagejpeg() zu heftig und schluckt dabei dunkle Bereiche.
Hast du irgendwo Beispiele online?