这是什么图像格式?

逆向工程 文件格式
2021-06-13 09:41:51

我正在尝试对显微镜生成的图像文件进行逆向工程。它应该是一个 HDR 图像。该文件在十六进制编辑器中具有非常独特的模式,但我无法识别它: 在此处输入图片说明

前 16 个字节是某种报头,然后每 4 个字节是 0x3C,有时它是 0x3D。该文件以相同的模式继续直到结束,并以 0x3C 结尾。这是非常专有的东西还是你们中的任何人都认识它?

编辑: 整个文件在这里可用

1个回答

没有更多信息,正如各种评论所暗示的那样,很难完全确定,但是,根据可用信息,该格式似乎是一种非常简单的未压缩供应商特定的“原始”格式,没有特定的标识或“魔术”数字或标记结构。

以下是我对格式的最佳猜测。拥有一个完整的文件和它被认为包含的图像的图片,无论哪种方式都可以确认特定的细节。

标题似乎具有以下格式 -

00000000: 00000800    // width of image (W) = 2048 pixels
00000004: 00000600    // height of image (H) = 1536 pixels
00000008: 0000000C    // number of bytes per pixel (B) = 12 bytes
0000000C: 00006000    // number of bytes per row (T) = W * B, probably rounded up to multiple of 8 or 16 

建议的 2048x1536 尺寸似乎与在线提供的几种数字电缆/USB 显微镜的规格一致。

然后是每一行的像素数据,每个像素似乎存储为 3x 32 位 IEEE 浮点值(即 B = 12 字节)。这三个值大概是按某种顺序的 R、G 和 B 分量.

// 1st row
00000010: 3C8B50D4 3C8F6AF0 3C8974E5    // 1st pixel = 0.017006, 0.017507, 0.016779
0000001C: ....

后续行将出现T超出前一行的字节。

// 2nd row (at 0x00000010 + 0x00006000)
00006010: ....

// 3rd row (at 0x00000010 + 0x00006000 x 2)
0000C010: ....

// 4th row (at 0x00000010 + 0x00006000 x 3)
00012010: ....

etc...

如果正确,这表明您的原始文件相对较大,约为 36MB。