【问题标题】:libjpeg gives poor quality imagelibjpeg 提供的图像质量很差
【发布时间】:2016-02-25 10:40:32
【问题描述】:

我正在使用 libjpeg 从工作中的原始 RGB 数据生成 jpeg。它可以正常工作,尽管 jpeg 输出的质量并不令人满意,并且与类似保存的 png (libpng) 的差异很大。我想,可能是默认质量设置设置为低,但我检查了默认设置为 100,这是您可以为该库获得的最大值。即使使用 jpeg_set_quality() 将其明确设置为 100 也无济于事。然后我查看了库描述,并将默认的 J_DCT_METHOD 从 JDCT_ISLOW 更改为 JDCT_FLOAT,只是因为它说后者比前者更准确一点。然而,最终输出没有什么不同,图像在某些地方仍然“模糊”。我还检查了“平滑”是否设置为零,如果非零,这可能会有所不同。如果我不关心速度/内存,是否有任何其他设置可以更改以提高所生成图像的保真度?我正在参考此页面以获取库方法:https://www4.cs.fau.de/Services/Doc/graphics/doc/jpeg/libjpeg.html

谢谢!

【问题讨论】:

  • 如何显示模糊的 JPEG 和正确的 PNG,以便我们看到差异并推断发生了什么?
  • 我曾想过这样做,但目前我没有一个不是客户数据的文件——根据隐私条款我不能分享。我会尝试制作自己的东西并尽快分享。

标签: image-processing compression jpeg libjpeg


【解决方案1】:

较差的 JPEG 质量来自子采样和量化表的组合。在 LibJpeg 中,“质量”设置会影响后者。如果您已将其设置为 100 并且仍然得到错误的输出,请检查子采样。

此外,JPEG 对图像类型很敏感。 JPEG 不能很好地处理由相同颜色区域组成的图像(例如,绘画、卡通——而不是照片)

按照您的建议更改 DCT 方法对质量影响不大。

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 2021-06-30
    • 2016-05-25
    • 2010-10-22
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多