我使用微软油漆创建了一个15248 x 6552实色图片。我将其保存为.png和.jpg,并期望.jpg比.png小,但事实并非如此。.jpg文件为1.49MB,而.png为391 is。难道jpeg不应该是一种有损压缩,在技术上更小吗?
我在某个地方读到.png对纯色等更好,所以我从网上下载了一张图片(不是纯色),并用油漆保存了这两种格式。这一次,jpeg比png小。这仅仅是由于颜色的梯度吗?如果是,那为什么?
即使图片是纯色,jpg编码也能压缩得更好吗?
发布于 2017-05-16 15:52:51
在这个场景中,PNG的性能应该比JPEG更好。
正如在另一个答案中所指出的,PNG做了一行像素预测,然后是ZLIB压缩.如果图像只有一种颜色,则预测将为所有像素生成一个恒定的零值,但每行的开头部分除外。因此压缩将是非常有效的。我敢打赌,如果图像是“景观”(6552x15248而不是15248 x6552),压缩效果会更好一些。
相反,JPEG压缩将图像分成8x8像素的块,并试图对每一个图像进行精细的低频分量和粗化高频分量的量化。这对于“自然”(摄影或渲染)图像很好,但是对于很少颜色(或单一颜色)的图像就不是那么好了。
见这里的一些比较。
发布于 2017-05-15 08:10:02
不一定。
PNG是一种基于预测的算法,这意味着它试图根据先前编码的像素来扣除一个像素的值。我敢打赌,对于一幅坚实的图像,这个预测是非常准确的,这样就得到了很好的结果。
JPEG接受不同的“质量级别”,这决定了压缩文件的大小。您的实验和网络版本之间的大小差异很可能是由于这个原因(当然,除非您正在下载另一张图片!)
注意,JPEG可能会引入一些图像伪影,因为它是一种有损算法,而PNG将为您恢复精确的输入图像。
发布于 2021-02-10 01:48:06
对于同一张图片,如果您保存为PNG第一,则PNG将更小,如果保存为JPG第1,则会比随后保存的PNG更小
https://stackoverflow.com/questions/43970574
复制