我有通过我的猫的网络摄像头拍摄的图像(主题可能不重要)。我已经将其视为31 kB JPG文件。当我用图像编辑器打开它时,将其保存(无需更改)作为PNG(最大压缩),它存储为297 kB文件。
为什么PNG文件比原始JPG大10倍。据我了解,打开JPG是无损的,保存PNG是无损的。那么,所有额外数据都来自哪里?如果图像完全来自小文件,为什么它会重新保存到光盘大小的10倍?
请仔细阅读。我不是在问为什么这两种格式与原始图像产生不同的文件大小。我问为什么打开一个现有的JPG,然后保存与PNG完全相同的图像大10倍。据我所知,我不认为这是一个重复的问题。
我做过的一些测试: -
关于神秘的额外数据的任何想法..?
答案 0 :(得分:1)
JPG使用有损压缩,而PNG使用无损压缩。当您将JPG转换为PNG时,实际发生的是从JPG解压缩并将结果保存为PNG。
“额外数据”实际上是由于使用了不同的算法。
至于为什么压缩文件也有不同的大小,那是因为PNG必须保存所有像素(包括那些JPG有损压缩的)丢失。
答案 1 :(得分:1)
JPEG固有地产生比PNG更好的压缩。但是,JPEG会保留原始图像的保真度以获得更好的压缩效果。 PNG完全复制了原文。
如果从JPEG转到PNG,您将不会看到更改。 如果你从PNG转到JPEG,你可能会看到很多变化。
JPEG使用一系列压缩技术。其中之一,DCT,转换图像。这会产生一种微妙的颜色波纹。例如,如果您从一个纯红色块开始,这是一种颜色,JPEG会产生很多轻微的颜色变化。
PNG压缩依赖于在扫描线中找到重复的像素图案。 JPEG引入的细微颜色变化会使PNG压缩效率降低。
您引用的额外数据只是两种格式代表同一图像的差异。
如果我从相机拍摄JPEG图像并转换为PNG,结果通常会大10倍。 对于转到JPEG的PNG图形图像,我通常会得到大约1/3的文件。