Java Advanced Imaging Масштабирование изображения - PullRequest
0 голосов
/ 22 декабря 2010

У меня очень большое изображение (~ 200 000 x 200 000 пикселей) в виде RenderedImage. Я обрезал его, а затем масштабировал, используя ScaleDescriptor JAI (который возвращает RenderedOp). Мое окончательное изображение имеет размер около 30х30, но когда я вызываю getAsBufferedImage (сначала получаю PlanarImage) из полученного масштабированного изображения, создание занимает несколько минут. Я предполагаю, что есть некоторая ссылка на оригинальное изображение, которое занимает так много времени, но я не уверен. Кто-нибудь знает, почему это займет так много времени?

спасибо, Джефф

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

С JAI вы строите цепочку рендеринга;поэтому, когда вы вызываете .scale, он на самом деле не масштабируется в этой точке, а просто добавляет это к цепочке (так что в отладчике это будет мгновенно).Только в конце, когда вы поймете, что пиксели в вашем новом изображении, произойдет операция.

Масштабирование, которое вы делаете, кажется большим и может быть очень дорогимЯ не делал JAI в течение нескольких лет;Можете ли вы указать алгоритм масштабирования?Возможно, вам придется делать ненужную интерполяцию, когда вы можете избавиться от чего-то гораздо более простого.

0 голосов
/ 22 декабря 2010

попробуйте с http://www.imagemagick.org/script/index.php вы увидите лучшее качество изображения,

...