JPEG头的字节数组

3
出于某种特定原因,我想从加载到字节数组中的jpeg中提取头信息。
为了找到头文件的长度,我一直在比较不同jpeg的字节。
共同点是每个图像的前623个字节具有相同的字节值。
这些jpeg具有相同的高度、宽度、分辨率,但是它们是不同的图像/场景。
它真的这么简单吗?假设标题不包含每个图像的字节数,那么前623个字节是否是所有图像的通用标题?

http://en.wikipedia.org/wiki/JPEG#Syntax_and_structure - Joachim Rohde
更多类似内容请参考:http://www.jpeg.org/public/jfif.pdf - Mr. Polywhirl
谢谢你们两个。我想知道,在我的情况下,是否可以简单地忽略前623个字节和最后2个字节,并说“其余是像素信息”。我以前见过这些头文件描述。我想我会运行一个测试,看看是否可以通过添加“常见”的623个头和“常见”的2个字节尾在服务器上重建图像。 - Andrew Simpson
1
你的特定方法可能适用于你的输入数据,但这绝不是一种通用的做法...;-) JFIF支持仅包含表格的文件(仅“头”),以及无表格的文件(仅“数据”)。这可能是你想要使用的,但你需要一个支持此功能的编码器/解码器。 - Harald K
嗨,感谢您的反馈。我相当确定这不是一种通用方法。它是针对我的应用程序的,该应用程序具有受控的JPEG源。谢谢您的信息 :) - Andrew Simpson
2个回答

1

(代表提问者发布的答案)

从我的测试中得出结论,如果我从第一个图像中提取头部(长度为623个字节),并提取最后2个字节255、217,然后将中间的字节块复制(从623到字节数组长度-2),在服务器端附加提取的(第一张)头和尾,那么图像处理就可以正常工作。


1

“JPEG”标头不存在(除了图像起始标记)。JPEG是序列标记,其中一些具有以下数据块。

各种JPEG文件格式定义了用于标识文件格式的APPn标记格式(例如JFIF、XFIF)。

你的623个匹配字节很可能是由同一编码器编写的相同注释标记。因此,不,你不能忽略623个字节并可靠地确定文件的内容。

我猜它会在特定于特定文件格式的APPn标记或帧起始标记中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接