libjpeg提供低质量的图像

时间:2016-02-25 10:40:33

标签: image-processing compression jpeg libjpeg

我正在使用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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

如您所建议的那样,更改DCT方法对质量几乎没有作用。