如何使用颜色比较 Gif 和 PNG 的质量。计算每像素位数是不是有效
Posted
技术标签:
【中文标题】如何使用颜色比较 Gif 和 PNG 的质量。计算每像素位数是不是有效【英文标题】:How do I compare the quality of Gifs and PNG using colors. Does calculating the bits per pixel work如何使用颜色比较 Gif 和 PNG 的质量。计算每像素位数是否有效 【发布时间】:2021-11-21 00:33:14 【问题描述】:由于 gif 使用 8 位色系,而 png 使用 24,我可以注意到两张图片之间的区别。
我想找到一种方法来比较两个图像的颜色,而不是通过查看,而是通过计算数据。
到目前为止,我所做的是我计算了 gif 和 png 图像的 BPP,假设这是比较这两种格式的最佳选择。
我不确定找到 bpp 是否会给我绝对的色差,或者它是否是正确的方法。
【问题讨论】:
【参考方案1】:虽然 gif 最多有 256 种颜色,但只要原始“原始”图像的颜色少于 256 种,它仍然具有高质量(对仅使用 8 种颜色的卡通图片进行成像,没有阴影/混合等)。在您提到的问题中,您可能会注意到两张图片之间的区别,那么我假设您正在谈论一些具有超过 256 种颜色的“原始”图像,例如天空颜色逐渐变化的自然照片。
在这种情况下,我认为您可以检查图像的直方图。对于 gif 图像,直方图中最多有 256 个条目;对于更高质量的 png 图像,它应该有一个具有匹配形状(峰和谷)的直方图,但超过 256 个非零条目。如果这是真的,您几乎可以肯定 png 具有更高的质量(假设它们确实是同一张图片)。
您甚至可以通过将 png 直方图中的几个相邻条目合并为一个条目来进一步了解 gif 是如何减少条目数的。
【讨论】:
以上是关于如何使用颜色比较 Gif 和 PNG 的质量。计算每像素位数是不是有效的主要内容,如果未能解决你的问题,请参考以下文章
PS输出为图片格式,PNG、JPG、GIF、SVG,哪个格式最清晰?
使用 ffmpeg 从 png 文件制作 gif 时颜色混乱(扭曲)