【发布时间】:2015-05-17 08:38:20
【问题描述】:
我有一张通过网络摄像头拍摄的猫的图像(主题可能并不重要)。我已将其作为 31 kB JPG 文件获取。当我使用图像编辑器打开它时,将其保存(不做任何更改)为 PNG(最大压缩),它存储为 297 kB 文件。
为什么 PNG 文件比原始 JPG 大 10 倍。据我了解,打开 JPG 是无损的,保存 PNG 是无损的。那么,所有额外的数据从何而来?如果图像完全来自小文件,为什么还要重新保存到磁盘大小的 10 倍?
请仔细阅读。我不是在问为什么这两种格式会从原始图像产生不同的文件大小。我在问为什么打开现有的 JPG 然后保存与 PNG 完全相同的图像要大 10 倍。据我所知,我认为这不是一个重复的问题。
我做过的一些测试:-
- 我查看了 JPG 和 PNG,它们看起来完全一样。
- 我已经压缩了这两个文件,cat.jpg.zip 为 31 kB,cat.png.zip 为 296 kB。我认为这意味着两个文件都已完全压缩,几乎没有潜在冗余。
- 我也通过 BMP 格式尝试过; cat.jpg (31 kB) -> cat.bmp (922 kB) -> cat.bmp.zip (404 kB)。
关于神秘的额外数据有什么想法吗?
【问题讨论】:
-
"..打开 JPG 是无损的.." 当然,但 保存 它不是。当“打开”JPEG 以查看它时,整个图像被解码到内存中,并使用 width * height * bitdepth 字节的内存——这与 PNG 相同。 “我不是在问为什么这两种格式会产生不同的文件大小......”是的。