Non c'è niente di sbagliato nel tuo codice, l'ho eseguito e vedo una leggera sfocatura nell'immagine di output. Se vuoi vedere un effetto più pronunciato, cambiarlo in un kernel di rilevamento dei bordi, ad esempio usando
float[] matrix = {
1, 0, -1,
0, 0, 0,
-1, 0, 1
};
BufferedImageOp op = new ConvolveOp(new Kernel(3, 3, matrix));