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

已知尺寸的JPEG图像的最大文件大小,jpeg,max,Jpeg,Max,我将允许用户上传用JPEG压缩的300x300图像。有没有办法确定这样一个图像的最大文件大小 我可以想象这可以通过压缩100质量的随机噪声来尝试,但是理论上有最大值吗 假设图像是完全不可压缩的随机噪声,它会是每像素3字节(24位颜色)和元数据的边距吗?或者这样的图像在压缩时会比原始图像大吗? 对于最高质量的图像(Q=100),每个彩色像素大约需要8.25位 因此,对于300x300图像上的Q=100,这将导致(300*300)px*8.25位/px=742500位=~93 kB 还有无损JPE

我将允许用户上传用JPEG压缩的300x300图像。有没有办法确定这样一个图像的最大文件大小

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

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

对于最高质量的图像(Q=100),每个彩色像素大约需要8.25位

因此,对于
300x300
图像上的
Q=100
,这将导致
(300*300)px*8.25位/px=742500位=~93 kB


还有无损
JPEG
编码模式,实际上没有使用()。但是他们会有典型的RGB
24位/像素

jpeg元数据大小没有限制,这意味着jpeg文件的大小没有限制。请参阅我链接的这个答案,以了解原因的解释以及元数据可能变大的现实情况的示例:

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

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


注意:我个人对jpeg规范没有太多的经验,所以我不同意人们所说的允许重复字段以及多个注释字段。如果你发现了相反的证据,请纠正我。

不是这方面的专家,但为什么不使用未压缩位图的大小(加上元数据缓冲区?)作为你可以接受的最大值?@CollinHockey我想过,但我认为它可能会变大(“或者这样的图像会……”)。然而,如果发生这种情况,那么在实践中可能不是一个很好的最大值。这里有很多“大约”大小的先决条件,所以我认为没有答案,因为这个问题没有提供任何条件。请注意,维基百科的引用应该是带着一点盐的,因为它没有找到证据的来源。