В прошлом я выполнял некоторые тяжелые операции с изображениями. Существует платформа с открытым исходным кодом под названием OpenCV (компьютерное зрение), которая работает с Python, C ++ и Java. OpenCV использует матрицы (MAT) для всех видов манипуляций с изображениями - изменение размера - это просто. Это должно дать вам грубое представление.
Java-версия кода может выглядеть примерно так:
import static org.opencv.imgproc.Imgproc.*;
import static org.opencv.imgcodecs.Imgcodecs.imread;
import static org.opencv.imgcodecs.Imgcodecs.imwrite;
//loop over your array of files here
Mat src = imread(myFilePath);
Mat resizeimage = new Mat();
Size scaleSize = new Size(512,512);
resize(src, resizeimage, scaleSize , 0, 0, INTER_AREA);
imwrite("C:\\File\\input.jpg", resizeimage);
Если вы хотите выполнять сверхскоростную обработку изображений, C ++ будет работать лучше. Я выполнял обработку изображений в реальном времени с использованием OpenCV w / c ++, и он имел всю необходимую мощность для обработки со скоростью 36 кадров в секунду. При использовании Java выход составлял 4 кадра в секунду.