获取图像的压缩比

Posted

技术标签:

【中文标题】获取图像的压缩比【英文标题】:Get compression ratio of image 【发布时间】:2011-01-31 17:15:43 【问题描述】:

我使用 LibJPEG 读取 JPEG 压缩图像。有没有办法获取未更改图像的当前压缩比?

【问题讨论】:

压缩比是指相对于 BMP 文件的 filsize 吗? 哦,对不起,我忘了说我加载了 JPEG。 JPEG具有压缩比。我想知道。 你有原始位图吗?就做jpegSize / bmpSize。如果不是,那么您将无法知道该比率。我相信使用的 jpeg 压缩级别有一些元数据标签,但没有任何东西可以指示源图像文件的大小。 嗯...确保我们谈论的是同一件事:每个 JPEG 图像都有一个从 1 到 100 的质量(或压缩比,就像我所说的那样)。我想要这个值,而不是比率源文件和结果文件之间。很抱歉造成混乱...! 【参考方案1】:

你是指编码质量,通常是0-100的数字吗?

这不会被存储 - 它被用作图像编码的指导,以了解波应该有多准确,然后将其丢弃。在任何 JFIF 标头结构中都没有它的字段。据我所知,对于这个数字在编码器中的含义并没有正式的定义,因此无论如何您都无法准确确定任何给定数字的影响。

【讨论】:

谢谢!这就是我想知道的;) 你甚至无法确定数字的含义,因为有些 0 真的很好,有些 0 真的很糟糕。 @Rup 实际上可以通过检查存储在图像中的 JPEG 量化表来确定近似的“编码质量”——但这属于数字图像取证领域。 【参考方案2】:

如果 Photoshop 保存 Jpeg,则必须将压缩级别存储在某处。多年来,我一直在文件上使用 Photoshop 的另存为作为检测使用的压缩级别的方法。根据我的经验,它总是建议使用与当前文件相同的压缩级别。请注意,您实际上不必保存它。显然这种方法对大量文件没有好处,但肯定是它必须存储在某个地方的证据。

【讨论】:

我今天使用exiftool 来检查 JPEG 的元数据,我发现它嵌入在文件中:“PhotoshopQuality = 4”。所以是的,Photoshop 将它自己的质量概念存储在 JPEG 文件的非标准标题中。【参考方案3】:

如果压缩比,你的意思是文件大小相对

您可以使用 ImageMagick-6.7.5.6 中的 identify -verbose

例如:

identify -verbose 1.jpg
(...)
  Geometry: 607x800+0+0
  Resolution: 72x72
(...)
  Filesize: 143KB
  Number pixels: 486K

不错

identify -verbose 2.jpg
  (...)
  Geometry: 1719x2377+0+0
  Resolution: 100x100
  (...)
  Filesize: 408KB
  Number pixels: 4.086M

不好

convert 2.jpg -resample 72x72 2c.jpg 
identify -verbose 2c.jpg
  Geometry: 1238x1711+0+0
  Resolution: 72x72

  Filesize: 272KB
  Number pixels: 2.118M

好多了

http://www.imagemagick.org/script/command-line-options.php?#density 谈论这个主题并以“要调整图像大小以使其在不同分辨率下具有相同大小,请使用 -resample 选项”结束

我还发现了一个修改“jpeg 品质因数”的工具。 Jpegoptim - 优化 jpeg 文件的实用程序。提供无损优化(基于优化霍夫曼表)和基于设置最大品质因数的“有损”优化。 http://www.kokkonen.net/tjko/projects.html

希望有所帮助。

【讨论】:

【参考方案4】:

压缩比 =(未压缩大小)/(压缩后大小)。

要自动获得它,下载 Irfanview,免费的 Windows 图像程序,用它打开你的图像,然后从转到图像 -> 信息 -> 你可以在那里看到很多有用的信息,其中包括“压缩”和质量,尺寸分辨率颜色等。现在转到-> EXIF信息->压缩->这里的数字是压缩比。

示例:如果压缩率为 6,则原始文件/图像大小是压缩后的 6 倍(您现在正在查看)。

【讨论】:

以上是关于获取图像的压缩比的主要内容,如果未能解决你的问题,请参考以下文章

视频文件都有哪些格式,哪个格式的压缩比最大,谢谢!!!

大数据中的压缩

图像重建基于matlab离散余弦变换DCT图像重建(MSEPSNR压缩比)含Matlab源码 2403期

java如何实现把一个大图片压缩到指定大小的图片且长宽比不变

java如何实现把一个大图片压缩到指定大小的图片且长宽比不变?

使用Python对图像进行不同级别量化QP,使用RLE计算压缩比,并计算对应的PSNR