已知尺寸的JPEG图像的最大文件大小

时间:2012-03-21 13:57:18

标签: jpeg max

我要让用户上传用JPEG压缩的300x300图像。有没有办法确定这种图像的最大文件大小是什么?

我可以想象这可以通过压缩100质量的随机噪声来尝试,但是有理论上的最大值吗?

假设图像是完全不可压缩的随机噪声,可能是每像素3个字节(24位颜色)还是元数据的余量?或者压缩时这样的图像会比原始图像大吗?

2 个答案:

答案 0 :(得分:17)

From wikipedia:

  

对于最高质量的图像(Q = 100),每个颜色像素需要大约8.25位    http://en.wikipedia.org/wiki/JPEG#Sample_photographs

因此,对于Q=100图片上的300x300,会产生(300 * 300) px * 8.25 bits/px = 742,500 bits = ~ 93 kB

还有无损JPEG编码模式,实际上没有使用last sentence, second paragraph。但是他们会有RGB典型的24 bits/pixel

答案 1 :(得分:4)

jpeg元数据大小没有限制,这意味着jpeg文件的大小没有限制。请参阅此答案,我已将其链接以解释原因以及元数据可能变大的实际情况示例:What is the maximum size of JPEG metadata?

因此,如果假设最大实际/实际尺寸适合您的目的,那么您应该将该示例考虑在您的计算中。在许多情况下,只要在程序的预期用途范围之外拒绝超出最大限度的内容,就可以了。

但如果你绝对必须依赖理论,那么不幸的是它是一个大胆的

注意:我对jpeg规范没有太多的个人经验,因此我将讨论人们对允许重复字段的说法,以及多个评论字段。如果您找到相反的证据,请纠正我。