【问题标题】:JPEG image does not end with EOI marker although it is not truncatedJPEG 图像不以 EOI 标记结尾,尽管它没有被截断
【发布时间】:2021-10-19 05:39:34
【问题描述】:

我试图通过检查图像的最后一个字节是否有 EOI 标记来捕获截断的 JPEG 或 PNG 图像(对于 JPEG,最后 2 个字节为“ffd9”,而对于 PNG,最后 8 个字节为“49454e44ae426082”)

但我发现由于图像中有额外的数据,这种方法不能一直有效。有些图像在 EOI 之后包含额外的字节......

enter image description here

EOI 是否有偏移量,所以我可以坚持使用这个字节比较解决方案?还是我必须找到另一种方法来检查图像是否被截断?

我不能通过使用全局变量 PIL LOAD_TRUNCATED_IMAGES 来使用 try-except,因为我的进程是基于多线程上下文的。

如果我能找到所有 JPEG、PNG 图像的解决方案,那就太好了。

【问题讨论】:

    标签: python-3.x jpeg truncated


    【解决方案1】:

    我找到了正常JPEG图像不以EOI结尾的原因。有些图像在其 EOI 之后有数据。它叫做tailer

    PNG 也有这种东西,所以如果您处理不同类型的图像,您应该了解 EOI 周围数据的变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      相关资源
      最近更新 更多