Я пишу программу, которая разделит изображение на домены и диапазонов. В этом домене будет 16X16. Я использую PixelGrabber
для получения пикселей. Я использовал для цикла для итерации, но для обработки требуется столько времени. В java любой альтернативу нужно уменьшить на этот раз. Мне нужна лучшая производительность. Можем ли мы использовать для этого какие-либо коллекции?Ускорьте обработку изображения, которое использует PixelGrabber
Мой код:
int[] pix = new int[16 * 16];
long start = System.nanoTime();
for (int i = 0; i < 512; i += 16)
{
for (int j = 0; j < 512; j += 16)
{
PixelGrabber pg = new PixelGrabber(Im, i, j, 16, 16, pix, 0, 16);
pg.grabPixels();
makeStack(pix, i, j);
}
}
long end = System.nanoTime();
Если бы я думал, что это правильно, как для петель вместе, так и шокирующих 262144 раз. Как пробовать, чтобы эти циклы выполнялись параллельно (несколько потоков)? Однако не забудьте использовать структуру данных, которая поддерживает параллельное письмо. В лучшем случае ваше рабочее время может быть уменьшено почти до минимума SINGLETHREADINGTIME/AMOUNTOFTHREADS! – Traubenfuchs
Что такое 'Im'? Что такое 'PixelGrabber'? –
Почему не 'BufferedImage # getRGB (int, int)'? – boring