分类配置文件决定了如何根据 OCR 结果对图片进行分类
当前推荐使用的配置文件版本为 1.0 (示例配置文件)
{
"version": "1.0",
"content": { "..." },
"ocr_range": [ "..." ]
}content 是一个 Dictionary, Key 为类别名称,Value 是一个对象,包含规则信息
Value 的 min_value 属性表示判断图片属于本类别所需的分数下限,分数为每条规则的分数与规则的匹配次数之积的总和
Value 的 rules 属性表示该分类的识别规则,是一个列表
识别规则包含四个属性:
- 分数
value(number) - 最小可靠度
accept(number) - 允许区域
rect(object) - 识别模式
pattern(string)
其中 rect 与 accept 不是必须的,rect 的默认值为整个图像区域,accept 的默认值为 0.9(取决于程序实现)
在与一条 OCR 结果匹配时:
- 若 OCR 结果的可靠度小于
accept,则跳过此 OCR 结果 - 若文本完全处于
rect指定的矩形区域内,则进行下一步,否则跳过此 OCR 结果 - 若文本能与正则表达式
pattern匹配,则图片在当前分类上获得value的分数
配置文件中使用一个对象表示一个矩形区域,其包含两个属性: type 与 range
type 为字符串,表示长度单位的类型,px 表示使用像素作为长度单位;relative 表示使用相对长度(1.0 为图片的宽度或高度)
range 是长度为 4 的列表,以 [X1, Y1, X2, Y2] 的形式表示坐标,两点依次为左上点与右下点,坐标允许为负数(表示从右下边计算距离)
ocr_range 是一个列表,用于指定需要识别的矩形区域,允许重叠
当列表不为空时,程序会将图片按照给定的区域裁剪,再进行识别
当列表为空或者 ocr_range 被省略时,程序会识别整个图片