我使用 LibJPEG 读取 JPEG 压缩图像。有没有办法获得未更改图像的当前压缩比?
4 回答
你的意思是编码质量,通常是数字0-100?
它没有被存储 - 它被用作图像编码的指南,以了解波应该有多准确,然后将其丢弃。在任何 JFIF 标头结构中都没有它的字段。据我所知,没有正式定义这个数字在编码器中的含义,因此无论如何您都无法精确确定任何给定数字的影响。
如果 Photoshop 保存 Jpeg,则必须将压缩级别存储在某处。多年来,我一直在文件上使用 Photoshop 的“另存为”作为检测使用的压缩级别的方法。以我的经验,它总是建议使用与当前文件相同的压缩级别。请注意,您实际上不必保存它。显然这种方法对大量文件没有好处,但肯定是它必须存储在某个地方的证据。
如果压缩比,你的意思是文件大小相对
您可以使用 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
希望有所帮助。
压缩比=(未压缩大小)/(压缩大小)。
要自动获得它,请下载 Irfanview,Windows 的免费图像程序,用它打开您的图像,然后从转到图像 -> 信息 -> 您可以在那里看到很多有用的信息,其中包括“压缩”和质量,大小分辨率颜色等现在转到 -> EXIF 信息 -> 压缩 -> 这里的数字是压缩比。
示例:如果压缩为 6,则原始文件/图像大小是压缩后的 6 倍(您现在正在查看)。