我正在开发 Midlet 应用程序。我发现自己经常需要缩放图像。这已经成为一个问题,因为有些手机速度很慢,而且缩放需要的时间太长。
目前我正在使用 Image.createRGBImage(int, int, int, boolean) 来缩放图像。
我想知道你们中是否有人知道一种非常有效和快速的缩放图像的方法。
注意:这是一个 Midlet 应用程序,因此只有 JavaME 可用,这意味着我无法访问完整 Java 版本中可用的其他一些库。
注意 2:我的大部分缩放都是从小图像到大图像,尽管我也会缩小图像。
最佳答案
请记住,在讨论缩放算法时,总是需要在速度和图像质量之间进行权衡,您的案例的理想解决方案可能需要一些研究和测试。
Nearest neighbor 是图像缩放的最简单和最快实现。
在 Coding Horror 上有一个很好的关于图像缩放/调整大小的介绍。其中回顾了几种技术并比较了它们的质量。
我想您正在使用非常小的显示设备,因此图像质量最终并不重要。有人打电话this 最快 J2ME 图像缩放实现。
但是如果你愿意阅读一些其他的东西,this paper提出了一种低成本(意思是“非常快”)的缩放算法,可显着改进最近邻插值。有可用的源代码,他们还展示了该研究的进展 here .
最后但同样重要的是,cvResize()
来自 OpenCV(用于图像处理的开源/跨平台库)。 willow garage 的人员非常擅长制作图像/视频处理的快速程序,并且此函数提供了一些缩放技术,因此可能值得检查它的实现。
关于Java - 我需要一个非常快速的图像缩放算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244936/