2011-03-02 65 views
1

我的web应用程序允许用户上传他们的图像进行查看,并且我想在显示图像之前压缩图像。那里有什么好的有损图像压缩算法。我在这里研究和这页http://www.imageoptimizer.net/Pages/Home.aspx,是否完美。我的图像是670KB,压缩后只有150KB,质量几乎相同。Java:有损图像压缩算法

+0

JPEG确实包含了一些非常严肃的数学思想来实现它,你不会说失去或不是质量的任何事情。 JPEG确实有很多属性需要调整。 imageoptimizer是一个众所周知的西装W /相当多的优化,但他们仍然返回JPEG。 – bestsss 2011-03-02 20:42:01

+0

@bestsss:对不起,模糊。我试图完成的是压缩希望不会降低图像太多,并减少它的大小。我想我会尝试遵循@Uriah建议并尝试'javax.io'。谢谢 – 2011-03-02 22:06:37

+0

@bestsss这是一个很好的观点,可以通过删除不感兴趣的数据来缩小图像的文件大小。对于来自数码相机的大多数普通的JPEG图像,您可能会在EXIF数据中有10-30K。 Pro图像可能包含ICC配置文件,其大小可能为几百K. Photoshop添加的XMP数据也可能很重量级。 – 2011-03-03 05:39:43

回答

3

JPEG是摄影图像事实上的压缩算法。

对于线条艺术类型的图像,通常使用PNG或GIF格式。

+0

请原谅我所说的听起来很愚蠢,但我上面显示的网站实际上将JPEG图像的大小从670KB减小到150KB。有没有像那样的开源算法? – 2011-03-02 20:29:34

+0

JPEG过滤器具有“质量”的概念 - 您可以调整怪胎旋钮以获得最佳质量与应用程序的大小压缩级别。您可以使用现有的JPEG图像(技术上为JFIF容器)并再次应用JPEG压缩。 Java中有很多JPEG实现 - 其中一些比其他更好。大多数人发现'javax.imageio'就足够了。更进一步,你可以研究分形压缩技术。 – 2011-03-02 20:48:11

+0

谢谢。我现在正在研究'javax.imageio'。希望这是我想要的。 +1 – 2011-03-02 22:07:15