一、条码识别
1.1模块简介
该工具用于定位和识别指定区域内的条码,容忍目标条码以任意角度旋转以及具有一定量角度倾斜,支持CODE39码、CODE128码、库得巴码、EAN码、交替25码以及CODE93码等。
1.2条码识别原理
(1)原理:通常一个完整的条码是由两侧静区、起始符、数据符、(中间分隔符,主要用于EAN码)、(校验符)、终止符组成,以一维条码而言,其排列方式通常如下所示,一维码识别算法:就是实现对一维码的译码过程;
(2)目前支持的一维码有:Code39、Code128、EAN、ITF25、CODE93;
(3)一维码识别算法首先会对图像中的一维码进行预处理,保证识别条码质量,之后进行译码,并保证一定的容错率。算法提供均衡模式和专业模式。专业模式可以处理更多疑难样本,但耗时会增加。
(4)模块特点:算法鲁棒性强,支持畸变译码、断针译码和光斑译码。参数配置灵活,普通客户可以使用均衡模式,专业人员可以使用专业模式。
1.3 运行参数
二、二维码识别
1.1 二维码识别简介
用于识别目标图像中的二维码,将读取的二维码信息以字符的形式输出。一次可以高效准确的识别多个二维码,目前只支持QR码和DataMatrix码等。
1.2 二维码码识别原理
(1)二维码识别算法就是实现对二维码的译码过程
(2)二维码识别算法首先对码的位置进行定位,进行姿态修正后,对码图像进行预处理,提高码图像质量,之后进行译码,并保证一定的容错率
(3)算法提供急速、普通和专业模式,满足不同场景需求。
特点:
(1)支持多数据区DM码识别,长方形DM码识别;
(2)支持二维码连续/离散参数自适应,正方形/长方形参数自适应,黑底白码白底黑码自适应以及镜像自适应
(3)较大畸变场景也具有一定鲁棒性。
1.3 运行参数
三、字符识别
1.1 字符识别模块简介
字符识别工具用于读取标签上的字符文本,需要进行字符训练,具体步骤如下:
1、 拖拉字符识别模块到流程编辑区,双击后进行参数配置。
2、
进行字符训练前的参数设置
1.2 字符识别模块原理
原理:OCR分为训练和识别两部分:
训练阶段:
在设定的训练区域内,工具内部会利用自适应分割首先获取单个字符,并针对单个字符提取字符特征信息,同时根据用户输入的字符信息利用分类器进行训练,生成字符库。
识别阶段:
用户直接设定检测区域,工具内部会自动进行分割和特征提取,后将单个字符特征传入到训练库中计算距离度量,通过分类器输出识别结果。
1.3 字库训练
1、框选目标字符区域;
2、单击“提取字符”,会出现已被红色框分割的字符,如下图所示;
3、单击“训练字符”,自己输入对应的字符真值,全部添加至字符库即可完成训练,若识别不准确可重复训练,如下图所示
1.4 字符过滤
1、
为了提高识别的准确性,可以启用字符过滤,此时在相应的位置只识别自己设置的字符类型如下图所示
2、当启用字符过滤后可以自定义识别字符的个数以及每个字符的类型,有全部、数字、大写字母、小写字母、特殊字符、空格、自定义等几种类型,可以通过“自定义”定义容易误读的字符,但前提是自定义的字符要存在于字符库中
3、
单击运行,即可对图像中的目标字符进行输出,会输出第一可能识别结果和候选识别结果,默认读取第一可能结果,如下图所示
1.5 运行参数