我知道已经有很多这方面的工具了。我的目标是学习。 我可以使用fopen()函数读取JPEG文件,而且我知道它是一个二进制文件。 那么接下来呢?我知道我可以学习JPEG规格说明,但是似乎并没有说明二进制JPEG文件的结构。
这个文件包含了0和1. 如何转换它或者如何知道哪一串比特代表什么?
我找到了这个例子:nano jpeg解码器, 但是它的代码很难读懂。
提前感谢。
我知道已经有很多这方面的工具了。我的目标是学习。 我可以使用fopen()函数读取JPEG文件,而且我知道它是一个二进制文件。 那么接下来呢?我知道我可以学习JPEG规格说明,但是似乎并没有说明二进制JPEG文件的结构。
这个文件包含了0和1. 如何转换它或者如何知道哪一串比特代表什么?
我找到了这个例子:nano jpeg解码器, 但是它的代码很难读懂。
提前感谢。
JPEG是一个有点棘手的图像格式,如果你刚开始接触,需要处理哈夫曼表,拥有某种快速的离散余弦变换函数以及解释量化表的能力。
http://en.wikipedia.org/wiki/JPEG 是相当有帮助的。
如果你想从更简单的东西开始,可以看一下 PNG 格式。这种格式基本上由头部、一堆可变长度的块以及 Zlib 流组成。解压后留下的几乎是原始像素,但它们被过滤了。反过滤很容易。