【问题标题】:Can anyone identify this image format?任何人都可以识别这种图像格式吗?
【发布时间】:2009-08-24 22:30:22
【问题描述】:

我有一个数据库中的签名格式,一个不合作的供应商一直在为我们的客户使用该格式。我们正在更换他们的系统。

签名开始:

0A000500010002000100020001000100010001000100010001000100D100010001004F0001000100
01000100010001000100010001000100010001000100010001000100FF00FF00FF00010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
010001000100010002001C0001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00
C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000
C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00
C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000
C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100...

以更多的图像数据继续,并以一长串 0100 结束。

对文件格式有什么想法吗?

谢谢。

【问题讨论】:

  • 那是什么类型的数据转储?每个第二个字节似乎都是 00。这真的是文件中的内容吗,或者这可能是您如何输出数据的产物?
  • 你确定这是一张图片吗?我理解数字签名比图像更先进。当然,这些数据看起来不是很先进。
  • 您有什么方法可以生成新图像吗?将已知的源数据馈送到编码器是一项非常强大的技术。如果没有,请尝试比较许多不同的图像以帮助梳理出一个模式。
  • 是SQL Server上Access转换为NVARCHAR的神器。每第二个 00 字节不应该在那里。话虽如此,它看起来确实像一个 PCX 标头。但我尝试另存为 PCX 文件(通过将十六进制字节粘贴到十六进制编辑器程序中)但它不起作用。
  • 您是否尝试在删除每 2 个 00 字节后将其保存为 PCX 文件?

标签: image file-format


【解决方案1】:

将前 16 个字节左右的数据放入一个文件中,linux 'file' 命令说:

$ file test.file
test.file: PCX ver. 2.5 image data

【讨论】:

  • 这看起来不像 PCX。第 3 个字节是编码,应该是 01h。第 4 个字节是位深度,应该是 1、4、8 或 24。PCX 的魔术文件条目只查看前两个字节。
  • 每隔一个字节不应该有 00。它们是 Access to SQL Server 转换过程的产物。我已经解决了。然后它看起来确实像 PCX 大约 10 字节左右,但随后就搞砸了。
【解决方案2】:

看起来这可能是一种非常简单的格式。 0A 似乎是一个标题。然后它看起来像成对的黑暗值,尽管看起来有 50% 的空间被浪费了。如果您发布文件,我很乐意尝试编写转换器。

整个文件是必要的,因为它看起来像有一个固定的图像大小,并且可能需要一些摆弄。您是否有一张非机密图片,但其中仍有数据?

【讨论】:

    【解决方案3】:

    这看起来像是来自 8 位 A/D 转换器(扫描仪)的原始像素值,以 16 位字、little-Endian (x86) 格式嵌入。

    文件大小都一样吗?这将为您提供有关图像大小的有力线索。

    【讨论】:

      【解决方案4】:

      它看起来像未编码的 RAW 图像数据。您是否尝试过将其直接加载到二维缓冲区中并查看您得到的结果?例如,复制文件并将其命名为 foo.raw 并尝试在 Photoshop 中加载它。如果我的猜测是正确的并且它只是原始的 16 位样本,那么您将必须自己提供宽度和高度。通道数可以是1x16bit。正如 tfinniga 所说,前两个字节可能是您必须跳过的标头。

      【讨论】:

      • 我会尝试将其保存为 RAW 并将其加载到一些东西中。谢谢。
      【解决方案5】:

      我从未见过这种文件格式...可能是“私有格式”,看起来很容易解码。

      编辑:看起来字节是按 2 组排列的(2 个 'xx' 十六进制数)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-02
        相关资源
        最近更新 更多