Pixel a pixel Melhorar perfomace

Atualmente tou com um sistema para alinhar imagem automaticamente, um filtro manual para melhorar a cor da imagem caso esteja muito claro(porque são imagens escaniadas)… e também para tirar sujeiras…
Entretanto tou usando o metodo getRGB… e for … para pegar pixel a pixel as cores que preciso para fazer os manipulamentos… tentei dividir a imagem em 4 pedaços…e por 4 thread para trabalhar no bufferedImage.só que a perfomace ainda sim está ruim… demora 30 segundos para fazer isso… E eu queria que no maximo demorasse 5 segundos ou 6… alguem tem alguma sugestão de um meio para eu melhorar a perfomace ??

assim que eu olho pixel a pixel a cor…
for (int y = 4 * divideQuatro; y < 5 * divideQuatro; y++) {
for (int x = 0; x < bufi.getWidth(); x++) {
c = new Color(bufi.getRGB(x, y));

Teria alguma forma mais rapida de eu fazer isso?
desde já agradeço …

Tem: use outra linguagem, e não trabalhe pixel a pixel, que é lento demais. Use o JAI (biblioteca Java com código nativo e Java) para esse tipo de coisas (melhorar cor de imagem, efetuar a rotação da imagem) porque ele tem rotinas escritas em C e Assembler para fazer isso muito mais rápido que o Java.

rotacionar imagem fiz com Affine … tranquilo e rapido… nao demora nem 1 segundo… entretanto oque está me barrando é escurecer os Pixels caso os RGB dele esteja muito claro… é funcional… so que 30 segundos por imagem quando estamos escaniando milhares … acaba por perder muito tempo… Como eu faria com JAI para escurecer os pixels que os rgb forem de x a x…?
Desde já obrigado.