【问题标题】:Java: Lossy Image Compression AlgorithmJava:有损图像压缩算法
【发布时间】:2011-07-07 13:49:30
【问题描述】:

我的网络应用程序允许用户上传他们的图片以供查看,我想在显示之前压缩图片。有什么好的有损图像压缩算法。我研究了一下,这个页面在这里http://www.imageoptimizer.net/Pages/Home.aspx,做得很好。我的图像是 670KB,压缩后只有 150KB,质量几乎一样。

【问题讨论】:

  • JPEG 确实包含了一些非常严肃的数学思维来实现它,你不要说任何关于质量的损失或质量问题。 JPEG 确实有很多属性需要调整。 imageoptimizer 是一个众所周知的套装,有很多优化,但它们仍然返回 jpeg。
  • @bestsss:抱歉含糊其辞。我试图完成的是压缩希望不会过多地降低图像并减小它的大小。我想我会尝试遵循@Uriah 的建议并尝试javax.io。谢谢
  • @bestsss 这是一个很好的观点,有一些方法可以通过删除您不感兴趣的数据来减小图像的文件大小。对于大多数普通的 JPEG 图像来自EXIF 数据中可能有 10-30K 的数码相机。 Pro 图像可能包含大小可能为数百 K 的 ICC 配置文件。 Photoshop 添加的 XMP 数据也可以是重量级的。

标签: java compression image-compression


【解决方案1】:

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

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

【讨论】:

  • 如果我要说的话听起来很愚蠢,请原谅,但我上面显示的网站实际上将 JPEG 图像的大小从 670KB 减少到 150KB。有没有类似的开源算法?
  • JPEG 过滤器具有“质量”的概念——您可以调整 geek-knob 以获得最佳质量与应用程序大小的压缩级别。您可以获取现有的 JPEG 图像(技术上是 JFIF 容器)并再次应用 JPEG 压缩。 Java 中有很多可用的 JPEG 实现——有些比其他的更好。大多数人认为javax.imageio 就足够了。更进一步,您可以研究分形压缩技术。
  • 谢谢。我现在正在调查javax.imageio。希望这就是我想要的。 +1
  • imageio 工作。我让它正常工作。谢谢你。您将javax.imageio 答案作为您的评论之一,您能否修改您的原件以在其中也包含javax.imageio 名称。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-06-26
  • 1970-01-01
  • 2015-02-24
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多