gpt4 book ai didi

matlab - 在 Matlab 中使用 imfinfo 函数进行图像压缩

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:32 26 4
gpt4 key购买 nike

我正在尝试计算给定图像的压缩率。我的matlab代码如下:

temp = imfinfo('花.jpg');comperssion_ratio = (temp.Width * temp.Height * temp.BitDepth)/temp.FileSize;

imfinfo 显示以下内容:

       FileSize: 11569
Format: 'jpg'
FormatVersion: ''
Width: 430
Height: 430
BitDepth: 8
ColorType: 'grayscale'
FormatSignature: ''
NumberOfSamples: 1
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}

运行上面的代码给我一个大约 120 的压缩比,这个数字很大而且看起来不对。我做错了什么吗?我浏览了麻省理工学院的一份文件,他们表明宽度和高度以及位深度应该除以 8,然后再除以文件大小。为什么要除以 8?

最佳答案

除以8是将位转换为字节。

根据Matlab documentation for imfinfo

FileSize 参数是压缩文件的大小,以字节为单位。

压缩比定义为:

uncompressed size of image in bytes/compressed size of file in bytes

imfinfo 为您提供像素宽度、高度和每像素位数(位深度)。从中您可以计算未压缩的大小(以位为单位),然后除以 8 得到字节。

对于未压缩的图像,您有 430*430*8/8 = 184,900 字节。

压缩后的图片大小为11569字节。

所以压缩比实际上是 184,900/11569 或 15.98,对于 JPEG 来说不是一个不合理的值。

关于matlab - 在 Matlab 中使用 imfinfo 函数进行图像压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24857889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com