【问题标题】:Does an image loses quality when it is converted from jpg to png?将图像从 jpg 转换为 png 时会丢失质量吗?
【发布时间】:2016-11-27 23:53:43
【问题描述】:

我们都知道从jpg转换成jpg会导致图片质量下降,而png转换成png的时候不会发生同样的情况,但是jpg转换成png呢?

在我看来,它没有是有道理的,但我仍然不确定。

我认为这个问题的好答案可能是一篇文章,其中可以很好地解释为什么会发生或不发生。你现在有吗?我找不到这样的文章。

【问题讨论】:

  • 这可能与您有点相关。 softorbits.com/batch_picture_resize/articles/…
  • 转换 to JPEG 是有损的,但 from 不是。示例:您可以根据需要随时提取 JPEG,但始终会得到相同的结果(使用相同的软件和解压缩设置)。

标签: png jpeg


【解决方案1】:

你描述的过程是:

  1. JPEG 流 => JPEG 解码器 => 位图
  2. => PNG 编码器 => PNG 流

第 2 步没有变化。第 1 步可能存在 JPEG 固有的舍入误差。

【讨论】:

    【解决方案2】:

    没有,但很复杂。

    JPEG 的读取不是一个精确定义的过程。允许不同的 JPEG 解码器从同一个文件产生略有不同的结果。

    将 JPEG 转换为 PNG 使像素永远代表用于解码 JPEG 的特定方法,即使它不是最好的方法。如果您使用“糟糕”的 JPEG 解码器进行转换,您以后将失去使用“更好”的 JPEG 解码器的能力。

    区别在于:

    • 色度上采样。 JPEG 可能以低于图像亮度(~亮度)的分辨率存储色度(~颜色)。规范没有说明应该如何调整色度通道的大小,因此有些解码器使用块状最近邻缩放,有些使用双线性缩放,有些甚至会做更奇怪的事情。

    • 数值精度。 JPEG 需要进行计算才能将图像从 DCT 和 YCbCr 表示转换为 RGB。这可以使用整数数学和 8 位颜色快速且廉价地完成,或者使用浮点数学和更高深度的颜色稍微好一点。

    • 颜色配置文件和 CMYK。转换可能会改变色彩空间(如果是 CMYK 则必须转换为 RGB),这很容易出错。

    还有其他避免转换的原因:

    • 文件几乎肯定会变得更大。 JPEG 压缩伪影是 PNG 最坏的情况。
    • 文件将丢失元数据(如相机信息、GPS)。虽然理论上 PNG 可以携带相同的元数据,但实际上转换器很少保留它。

    还有一个用于转换的案例:jpeg2png project,它不仅转换文件,还使用相当先进的后处理来消除 JPEG 压缩失真。在这种情况下,您可能会挽救低质量的块状 JPEG 并获得更平滑的图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      相关资源
      最近更新 更多