Java高级成像缩放图像

时间:2010-12-22 17:07:10

标签: java image-processing scale imaging jai

我有一个RenderedImage形式的非常大的图像(~200,000x200,000像素)。我裁剪它然后使用JAI的ScaleDescriptor(它返回一个RenderedOp)来缩放它。我的最终图像只有大约30x30但是当我从生成的缩放图像中调用getAsBufferedImage(我先得到PlanarImage)时,创建需要几分钟。我猜测有一些参考回到原始图像,这需要很长时间,但我不确定。有谁知道为什么这需要这么长时间?

感谢, 杰夫

2 个答案:

答案 0 :(得分:1)

使用JAI,您正在构建渲染链;因此,当你调用.scale时,它实际上并没有在那一点进行扩展,只是将它添加到链中(因此在调试器中它将是即时的)。只有在你开始意识到新图像中的像素时,操作才会发生。

你正在做的缩放量似乎很多,而且可能非常昂贵。几年后我没有做过JAI;你能指定缩放算法吗?当你可以使用更简单的东西时,可能会进行不必要的插值。

答案 1 :(得分:0)

尝试使用http://www.imagemagick.org/script/index.php,您会看到更好的图片质量,