Java - 我需要一个非常快速的图像缩放算法

时间:2011-11-23 15:38:22

标签: java image-processing image-manipulation midp image-scaling

我正在开发Midlet应用程序。我发现自己需要经常缩放图像。这已经成为一个问题,因为有些手机很慢,缩放时间太长。

目前我正在使用Image.createRGBImage(int,int,int,boolean)来缩放图像。

我想知道你们中是否有人知道一种非常有效和快速的图像缩放方式。

注意:这是一个Midlet应用程序,因此只有JavaME可用,这意味着我无权访问完整java版本中可用的其他库。

注2:我的大部分缩放都是从小图像到大图像完成的,尽管我也缩小了图像。

1 个答案:

答案 0 :(得分:34)

请记住,在讨论缩放算法时总是在速度和图像质量之间进行交易,并且针对您的案例的理想解决方案可能需要进行一些研究和测试。

Nearest neighbor 是图片缩放的最简单,最快实现。

Coding Horror上有一个关于图像比例/调整大小的精彩介绍,它介绍了几种技术并比较了它们的质量。

我想你正在使用一个非常小的显示设备,因此图像质量最终并不重要。有些人正在为 J2ME 调用this 最快的图像缩放实现。

但是如果你愿意阅读其他一些东西,this paper提出了一种低成本(意思是“非常快”)的缩放算法,它可以显着改善最近邻插值。有可用的源代码,它们也呈现了该研究的演变here

最后但并非最不重要的是,来自OpenCV的cvResize()(用于图像处理的开源/跨平台库)。 柳树车库的人们非常善于制作快速的图像/视频处理程序,而且这个功能提供了几种缩放技术,因此可能值得检查它的实现。