0

我编写了一个代码来检测 jpeg 文件的损坏,如果它们有 jpeg 标记,则通过比较最后两个字节

if (buffer[0] == (byte)0xff && buffer[1] == (byte)0xd9)
{
    validJpeg = true;
}

该代码适用于使用 jpeg 压缩的 .tif 文件,但如果图像使用 CCITT(在我的情况下为第 4 组)压缩,则所有这些图像都被错误地识别为损坏。

如何在 if 子句中添加 CCITT 压缩图像的相应部分(标记)?

感谢大家 !

4

1 回答 1

0

0xffd9 似乎不是合法的压缩标签,所以我不确定你在测试什么。您是在解析标签,还是只是跳入图像数据? 维基百科说 G4 由值为 0x0004 的压缩标签 (0x0103) 指示。

如果您确实需要确定一个字节序列是否可以表示 G4 压缩数据,您应该查阅规范。似乎数据将以 3 个十六进制字节 0x00 0x10 0x01 结尾。

于 2013-06-12T15:56:14.840 回答