12位灰度jpeg到8位灰度jpeg C / C ++

时间:2014-07-23 08:09:31

标签: c

作为一项赋值,我需要将12位jpeg图像转换为BMP文件,而不使用任何库文件或标题(math.h和stdio.h除外),即使是string.h也是禁止的。我编写了大部分内容,我现在可以将8位jpeg转换为BMP,但我不明白12位jpeg如何工作,我不知道如何将12位jpeg文件转换为8位jpeg。

(我的源代码在c中)

我需要一个很好的资源来理解12位jpeg是如何工作的 如果有可能,如果有人可以帮我转换,那就太棒了。

1 个答案:

答案 0 :(得分:1)

12位jpeg似乎就像8位jpeg。从压缩方面看它是如何工作的更容易,但是一旦你理解了解压缩是直截了当的。

对于12位jpegs,DCT步骤在进行DCT变换之前从每个像素值中减去2 ^ 11。显然,DCT的结果会稍微大些,但这没什么大不了的。你仍然选择最大的系数并存储它们,就像你对8位jpeg一样。