Нужен более быстрый способ получить значение RGB для каждого пикселя буферизованного изображения

Каков самый быстрый способ получить значение RGB для каждого пикселя BufferedImage] ?

Прямо сейчас я получаю значения RGB, используя два цикла for, как показано в приведенном ниже коде, но получение этих значений заняло слишком много времени, так как вложенный цикл выполняется в общей сложности 479999 раз для моего изображения. Если бы я использовал 16-битное изображение, это число было бы еще выше!

Мне нужен более быстрый способ получить значения пикселей.

Вот код, с которым я сейчас пытаюсь работать:

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++);                                                                                                                                                  
    }
}
7
задан Anil M 19 November 2017 в 09:51
поделиться