0008_OCR识别(1)

本文介绍了OCR识别的基本步骤,包括定位校正、字符分割、求交集、排序、读取分类器、识别及显示等内容。此外,还详细阐述了OCR识别中用到的关键算子及其功能,如创建和训练分类器、快速二值化、获取文本行角度等。
摘要由CSDN通过智能技术生成

OCR识别,一般是对灰度图像进行处理。

OCR识别的一般步骤如下:

1. 先进行定位校正

2. 分割,将各个字符断开成不同的联通域

3. 求交集(二值化后的图像区域 和 断完之后的区域)

4. 排序,识别的时候按照顺序来

5. 读ocr分列器

6. 识别

7. 显示

 

 

OCR识别的算子:

//创建分列器

//使用多层感知器创建OCR分类器。

create_ocr_class_mlp

WidthCharacter:矩形的宽度,分割字符的灰度值被缩放到该矩形

HeightCharcter:矩形的高度,分割字符的灰度值被缩放到该矩形

Interpolation:用于缩放字符的插值模式

Features:用于分列的特征

Charaters:要读取的字符集的所有字符

NumHidden:MLP的隐藏单位数

Preprocessing:用于变换特征向量的预处理类型

NumComponents:预处理参数:已转换要素的数量

RandSeed:随机数生成器的种子值,用于使用随机值初始化MLP

OCRHandle:OCR分列器句柄

 

 

//训练一个分列器

trainf_ocr_class_mlp

OCRHandle:OCR分列器句柄

TrainingFile:训练文件件名

MaxIterations:优化算法的最大迭代次数

WeightTolerance:优化算法的两次迭代之间MLP的权重差异的阈值

ErrorTolerance:在优化算法的两次迭代之间MLP对训练数据的平均误差的差异的阈值

Error:MLP对训练数据的平均误差

ErrorLog:作为优化算法的迭代次数的函数,MLP对训练数据的平均误差

 

 

识别

//使用OCR分类器对多个字符进行分类

do_ocr_multi_class_mlp

Character:要识别的字符

Image:字符的灰度值图像

OCRHandle:OCR分列器句柄

Class:使用MLP对字符进行分类的结果

Confidence:输出字符分类的信心值

 

 

OCR识别流程会使用到的重要算子:

//快速二值化

//前景和背景只有黑白,可以使用这个函数快速将黑白分开

binary_threshold

Image:输入图像

Region:分段输出区域

Method:分段方法

LightDark:提取前景还是背景

UsedThreshold:使用的阈值

 

 

//文本行角度的获取

//确定文本行或段落的方向

text_line_orientation

Region:文本行区域

Image:输入图像

CharHeight:文本行的高

OrientationFrom:文本行最小旋转角度

OrientationTo:文本行最大旋转角度

OrientationAngle:计算出来的文本行旋转角度

 

 

使用指定宽度,切矩形

//将区域划分为大小相等的矩形

partition_rectangle

Region:被划分的区域

Partitioned:被划分后的矩形

Width:单个矩形的宽

Height:单个矩形的高

 

 

//求交集

intersection

Region1:被求交集的区域1

Region2:被求交集的区域2

RegionIntersection:求交集的结果

 

 

//对区域排序

//根据区域的相对位置对区域进行排序。

sort_region

Regions:需要被排序的区域

SortedRegions:排序之后的区域

SortMode:排序的方法

order:递增或者是递减排序

RowOrCol:首先对行进行排序,然后对列进行排序。

 

更多halcon和六轴机械臂算法干货公众号:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值