HOBJ格式解析

文件类型

HOBJ用于存储HObject类型,包含Image、Region、XLD类型

格式规范

文本格式包含固定字段和非固定字段,固定字段必须包含,非固定字段可能不包含,同一字段仅出现一次

标题字段

固定字段,表达格式类型

  • 二进制:48 4F 42 4A 00 03 00
  • 数据:HOBJ030

数量字段

固定字段,表达HOBJ总数

  • 二进制:00 00 00 00 00 00 00 01
  • 数据:1

类型字段(逐个HOBJ存储)

固定字段,表达HObject类型

第一类:表达图像类型

  • 二进制:00 00 00 01
  • 数据:1

第二类:表达区域类型

  • 二进制:00 00 00 02
  • 数据:2

第三类:表达轮廓类型

  • 二进制:00 00 00 03
  • 数据:3

图像类型

未知标记

  • 二进制:03 7A 24 21 0F 12 00 12 01 07 E6
  • 数据:未知

区域字段

  • 见区域类型

通道数

  • 二进制:00 00 00 01
  • 数值:1

图像内容(逐个通道存储)

像素类型

  • 二进制:00 00 00 20
  • int1
  • 二进制:00 00 02 00 FF
  • int2
  • 二进制:00 00 04 00 FF
  • uint2
  • 二进制:00 00 00 02
  • int4
  • 二进制:00 00 10 00
  • int8
  • 二进制:00 00 00 01
  • byte
  • 二进制:00 00 00 04
  • real
  • 二进制:00 00 00 08
  • direction
  • 二进制:00 00 00 10
  • cyclic
  • 二进制:00 00 00 80
  • complex

图像尺寸

  • 二进制:00 00 00 05 00 00 00 05
  • 数据:5 5

图像内容

  • 二进制(小端类型):05 00
  • 数据:5

区域类型

间隔字段

  • 二进制:FF FF FF FF
  • 数据:间隔

行程数量

行数量

  • 二进制:00 00 00 02
  • 数据:2

列数量

  • 二进制:00 00 00 02
  • 数据:2

标志位

空位

  • 二进制:00 00 00 00 00 00
  • 数据:0

符号位

  • 二进制:
    0 0 0 0 0 0 0 1
    1 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0
  • 数据:
    11:
    12:
    13:矩形度(rectangularity, double)
    14:
    15:行程长度范围(min,max,uint16)
    16:
    17:
    18:AABB(row1, col1, row2, col2, int16)
    21:中心面积(row double, column double, area uint32)
    22:矩(moment,double)
    23:
    24:长短轴(ra_, rb_, double)
    25:长短轴(ra,rb, double)
    26:角度(phi)
    27:凸度(convexity,double)
    28:长度(contlength,double)
    31:紧凑度(compactness, double)
    32:圆度(circularity,double)
    33:
    34:标记(0,uint8)
    35:标记(0,uint8)
    36:标记(0,uint8)
    37:标记(0,uint8)
    38:形状(0,uint8)

标志数据

  • 顺序:形状(圆0,ABB1,OOBB2), 标记, 圆度, 紧凑度, 长度, 凸度,角度(phi),长轴(ra),短轴(rb),长轴(ra_),短轴(rb_),矩(m11),矩(m20),矩(m02),矩(ia),矩(ib),行中心(row),列中心(column),像素数量(area),最小行(row1),最小列(col1),最大行(row2),最大列(col2),最短行程(min),最长行程(),矩形度(rectangularity)
  • 二进制:02
  • 数据:2
  • 二进制:3F C7 AE 5F 6C 2B D8 FD
  • 数据:0.1850089338474347

行程码(个数为行程数量)

  • 二进制:00 04 00 06 00 07
  • 数据:4(Row) 6(ColumnBegin) 7(ColumnEnd)

轮廓类型

未知标记

  • 二进制:00 00 00 05
  • 数据:5

轮廓数量

  • 二进制:00 00 00 00 00 00 00 01
  • 数据:1

轮廓内容(逐个存储轮廓)

轮廓点数量

  • 二进制:00 00 00 08
  • 数据:8

未知标记

  • 二进制:00 00 00 00 00 00 00 00 00 00 00 00
  • 数据:0

轮廓行点(个数为轮廓点数量)

  • 二进制:40 00 00 00
  • 数据:4

轮廓列点(个数为轮廓点数量)

  • 二进制:40 00 00 00
  • 数据:4

末尾标题

  • 二进制信息:48 4F 42 4A
  • 数据:HOBJ