字符识别

本节内容包含:

模块原理

字符识别分为训练和识别两部分:

  • 训练阶段:在设定的训练区域内,利用自适应分割先获取单个字符,并针对单个字符提取字符特征信息,同时根据输入的字符信息利用分类器进行训练,生成字符库。

  • 识别阶段:直接设定检测区域,工具会自动进行分割和特征提取,然后将单个字符特征传入到训练库中计算距离度量,通过分类器输出识别结果。

使用方法

字符识别模块是通过字库训练达到识别图片中字符的作用,无需深度学习训练。该模块常用于字符种类较少、字符位置较稳定且成像清晰的识别场景。

该模块无固定搭配使用模块,前序模块可搭配几何变换、形态学处理等图像处理模块对字符效果优化,将字符清晰的图片输入至字符识别模块,字符识别模块会输出第一可能识别结果和候选识别结果,默认读取第一可能结果,成功提取字符后输出至后序模块。

参数配置

字库训练

单击可弹出字库训练界面,操作步骤如下:

  1. 框选目标字符区域。

  2. 单击提取字符,会出现已被红色框分割的字符,如下图所示。

    图 1 字库训练
  3. 单击训练字符,此处需输入对应的字符真值,并单击添加至字符库即可完成训练。若识别不准确可重复训练,如下图所示。

    图 2 训练字符
字符过滤

单击可弹出字符过滤界面,操作步骤如下:

  1. 启用字符过滤可提高识别的准确性,此时在相应的位置只识别所设置的字符类型,如下图所示。

    图 3 字符过滤
  2. 自定义设置识别字符个数以及设置每个字符的类型,包括全部、数字、大写字母、小写字母、特殊字符、空格、自定义等几种类型,可以通过自定义来定义容易误读的字符,但前提是自定义字符应存在于字符库中。

字符极性

包含白底黑字和黑底白字两种类型。

字符宽度范围

设置字符的最小宽度和最大宽度。

宽度类型

包含可变类型和等宽类型两种类型。当字符宽度一致时,建议选择等宽类型;当字符宽度有差异,建议选择可变类型

字符宽度范围

设置字符的最小高度和最大高度。

二值化系数

二值化阈值参数,范围为[0, 100]。

片段面积范围

单个字符片段的面积范围。

合格阈值

能够被识别字符的最小得分。

距离阈值

字符片段到文本基线的距离,大于该值则删除。

忽略边框

选择则忽略与ROI区域粘连的字符,选择则不忽略。

主方向范围

文本行倾斜角度搜索范围。

倾斜角范围

允许字符倾斜的最大范围。

字符最小间隙

两个字符间的最小横向间距。

行间最小间隙

多行字符间的最小间隙 。

最大宽高比

单个字符外接矩形的最大宽高比。

分类方法

该参数配合相似度类型使用,有距离最近、权重最高和频率最高三种方式。

字宽滤波使能

是否开启字符间字符宽度的滤波使能。

笔画宽度范围

单个笔画的宽度范围,在打开宽度滤波使能后才能生效。

相似度类型

可选择欧式距离和余弦距离,不同类型会影响其识别率。

模块结果

该模块的模块结果介绍请见字符识别