从介绍一个名词文字识别OCR(OpticalCharacterRecognition,光学字符识别)开始。即电子设备(如扫描仪或数码相机)通过检测纸张上的字符,以检测暗、亮的方式确定其形状,然后通过字符识别法将形状转换成计算机文字。
一、文字识别的应用领域:
文字识别一般用于证件识别(身份证、驾照、护照、名片)、文件检索、截图识别等。
二、文字识别如何处理图片:
事实上,这样做的结果就是把只有一个文本的图片交给计算机进行翻译。
那么,机器如何看到纸张、电子文档或图片中的文本呢?下面查看它的工作流程:
先除去杂质,这样程序就能集中注意到文字上面。
1、预处理。
预处理主要有灰度处理、二值化、去噪、倾斜校正等。
灰度化是仅包含亮度信息而不包含颜色信息的图像。
当R=G=B时,颜色代表一种灰色的颜色,其中R=G=B的值称为灰度值。
通常符合下列公式:
Gray=0.299R+0.587G+0.114B这一参数顾及了人类的生理特征。
二值化:非黑即白。
照相机拍摄的图像,大多是彩色图像,其中包含着大量的信息,对于图片内容,我们可以简单地分成前景和背景,为了让计算机更快、更好地识别文字,我们首先需要对彩色图进行处理,使图片只包含有背景信息的信息,对前景信息和背景信息进行简单的定义,这就是二值化图。
彩色图像的灰度处理后,还需要对图像进行二值化处理,使文本与背景进一步分离。
二值化过程涉及“门限”的概念,简单地说,就是寻找一个适当的值作为界限,大于或小于这一界限的值变成白色或黑色,即0或255。如何选择“临界点”?
OCR文字识别方法很多,这里只介绍两种。
OCR文字识别方法1:
将其阈值设置为127(相当于中数0~255,(0+255)/2=127),允许灰度值小于等于127的变为0(黑色),灰度值大于127的变为255(白色),这样做的好处是计算量小,但在不同的图片中,它们的颜色分布差别很大,所以用127做的结果是不太好的,这种一刀切,效果肯定是不好的。
OCR文字识别方法2:
用直方图法(也称为双峰法)求二值阀值,直方图是图像的重要特征。柱状图方法考虑了图像由前景和背景组成,在灰度直方图上,前景和背景均形成高峰,双峰之间最低谷是阀值所在。
OCR文字识别降低图像噪声:
实际数字图像在数字化和传输过程中,经常受到外部环境噪声干扰等成像设备的影响,称之为含噪图像或噪声图像。降低图像噪声的过程叫做图像降噪(ImageDenoising)。
展示过程中,可以看到图像二值化后的当二值化后会显示很多小黑点,这些都是不需要的信息,会对图像的轮廓识别产生很大的影响,降噪是非常重要的阶段,降噪处理的好坏直接影响图片识别的准确性。
这被称为DFS或BFS(深度和广度搜索),在数据结构中称为数据结构。对于w*h的位图,我们首先搜索所有联通区域(值为1的,连接在一起的区域看上去是黑色)。将所有联通区域计算平均像素值,如果某些联通区域的像素值远低于此平均值,则将其视为噪点。把他换成0。
OCR文字识别倾斜校正:
照相或选取的图片不可能是全水平的,倾斜会影响到后面的图片,所以要旋转图片。
最常用的倾角校正方法是霍夫变换,其原理是对图像进行膨胀处理,把断开的文本连成一条直线,以方便直线检测。求出直线的角度后,可利用旋转算法,对斜图进行平直校正。
2、图片分割: