Necesita una forma más rápida de obtener el valor RGB para cada píxel de una imagen almacenada en búfer

¿Cuál es la forma más rápida de obtener el valor RGB de cada píxel de unBufferedImage?

Ahora mismo estoy obteniendo los valores RGB usando dosfor los bucles, como se muestra en el código a continuación, pero tomó demasiado tiempo para obtener esos valores ya que el bucle anidado se ejecuta un total de 479999 veces para mi imagen. ¡Si utilizo una imagen de 16 bits, este número sería aún mayor!

Necesito una forma más rápida de obtener los valores de píxeles.

Aquí está el código con el que estoy tratando de trabajar:

<code>BufferedImage bi=ImageIO.read(new File("C:\\images\\Sunset.jpg"));

int countloop=0;  

for (int x = 0; x <bi.getWidth(); x++) {
    for (int y = 0; y < bi.getHeight(); y++) {
        Color c = new Color(bi.getRGB(x, y));
        System.out.println("red=="+c.getRed()+" green=="+c.getGreen()+"    blue=="+c.getBlue()+"  countloop="+countloop++);                                                                                                                                                  
    }
}
</code>

Respuestas a la pregunta(5)

Su respuesta a la pregunta