【机器学习笔记】照片OCR
照片OCR
照片OCR就是想要读取图像中的文字,因此工作流程如下:
1、文本检测
2、字符切割
3、字符识别
一、首先来看文本检测——滑动窗口
1、先学习行人检测的思路。
1)首先要确定检测框的尺寸8040
拿到一个数据集,训练出一个分类器,能够判断8040的图像内有没有行人。
2)对于输入一张图片,从图片左上角开始划一个检测框,送入分类器识别是否有行人;再根据步长来移动检测框,直到划过了整张图片。
还可以使用更大一点的检测框,但是需要resize到80*40的大小才能送入分类器识别。
3)最后能够在这个图中,识别出行人位置。
2、类似的,对于文字检测
1)首先要用数据集,来训练出分类器
正类包含了文字,负类没有文字。
2)输入一张图片运行检测算法
得到结果:
白色区域表示检测到有文字。
3)扩大白色区域
如果某个像素是白色的,且周围5-10个像素的范围内都扩展为白色。
4)然后排除一些奇怪的矩形框(不可能是文字的),比如弯曲的。对剩下的白色区域框起来。
这样就从图片得到了文本框。
二、文本切割
再次使用监督算法。
1、训练分类器。
正类表示存在文字间隔,反类表示没有文字间隔。训练出一个分类器。
2、再次使用滑动窗口
对这样一个矩形框,分类器会认为没有间隔,然后继续滑动。
此时会认为有间隔,因此可以进行文本切割。直到滑动了整张图片。
三、文本识别
这就相当于一个多分类,很容易实现。