如何计算通过DCT压缩后图像中的位数?

时间:2015-01-05 00:34:53

标签: matlab image-processing dct

我需要知道在将DCT算法(压缩图像)应用到图像后如何枚举图像中的位数(在MATLAB中),我需要在应用DCT后看到图像的位数算法。因为我将它应用于512 x 512图像,但我在压缩之前和之后得到相同数量的位,想知道是否有任何Matlab代码计算图像的位数。

2 个答案:

答案 0 :(得分:1)

DCT是变换,而不是压缩。将其应用于输入信号后,信息不会丢失。

Normaly,在DCT变换之后的像jpg这样的算法应用DCT系数的量化以减少数据量。然后使用霍夫曼或其他无损压缩算法压缩量化系数。

所以DCT无法说明你将拥有多少比特。你应该问霍夫曼。

答案 1 :(得分:0)

DCT算法本身不会减小图像矩阵的大小。 它将变换应用于空间域矩阵输入,并输出a 频域中的矩阵。有关详细说明,请参阅此处。

http://www.mathworks.com/help/images/discrete-cosine-transform.html#f21-16149

取决于丢弃的DCT系数的数量,这决定了数量 您正在应用的压缩,剩余的非零系数告诉您如何 还有很多比特。每个系数的比特数由类别确定 图像X。

e.g。 类(X)

ans = 双

double是64位 单个是32位