【机器学习笔记】照片OCR

照片OCR

照片OCR就是想要读取图像中的文字,因此工作流程如下:
1、文本检测
【机器学习笔记】照片OCR
2、字符切割
【机器学习笔记】照片OCR
3、字符识别
【机器学习笔记】照片OCR

一、首先来看文本检测——滑动窗口

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

二、文本切割

再次使用监督算法。
1、训练分类器。
【机器学习笔记】照片OCR
正类表示存在文字间隔,反类表示没有文字间隔。训练出一个分类器。
2、再次使用滑动窗口
【机器学习笔记】照片OCR
对这样一个矩形框,分类器会认为没有间隔,然后继续滑动。
【机器学习笔记】照片OCR
此时会认为有间隔,因此可以进行文本切割。直到滑动了整张图片。

三、文本识别

【机器学习笔记】照片OCR
这就相当于一个多分类,很容易实现。