由于可以通过在其上执行DCT来加密简单的8X8矩阵,并且可以通过在DCT矩阵上应用IDCT来容易地解密原始矩阵;我试图通过'块处理'(块大小8)在图像的每个块上应用DCT。
在图像的每个块上执行DCT后,我将留下一个带有DCT值的非常大的矩阵。现在我想用DCT值(代表加密图像)写一个图像。 问题是灰度图像只能存储0-255的值。
如何将DCT值存储在图像中?
我不是要做一个完整的JPEG压缩。只是在java中的图像上的DCT和IDCT。
答案 0 :(得分:1)
我不想让你失望,但在灰度数据上运行DCT会产生负面压缩。使用DCT后,它需要大约两倍的数据来表示8x8块。
您不会仅使用DCT压缩图像。这是压缩DCT的其他JPEG过程(量化,霍夫曼编码,熵编码)。