光学字符识别

光学字符识别（，縮寫：OCR）是指对包含文本内容的图像或视频进行处理和识别，并提取其中所包含的文字及排版信息的过程。例如，一个常见的应用是将包含文档图像的不可编辑状态的 PDF 文档通过 OCR 技术识别后，转换为可编辑状态的 Word 格式文档。

通常来说，根据不同文本内容的特性而言，OCR 技术的应用场景大致可分为以下几类：

 印刷文本识别：印刷文本通常指报刊、杂志、文档、小票等使用现代计算机字体编排并印刷的文本内容。这类文本内容通常具有清晰一致的字体、间距等，因此识别技术相对成熟，并被广泛应用于纸质档案、报刊的数字化上。
 手写文本识别：相较于具有固定字体的印刷文本而言，手写文本往往根据不同的书写者以及书写工具会具有极大的变化，因此其识别难度相较于印刷文本而言要更高。手写体识别可以帮助用户快速将手写的笔记内容数字化输入到计算机中，也被用在一些电子备忘录中来对用户的手写笔记内容进行检索。此外，由手写文本识别进一步衍生的一个应用则是签名笔迹认证，这类方法用于比对签名的真实性。
 公式文本识别：数学公式通常由大量符号及数字组成，由于根式，分式等规则的存在，数学公式往往存在二维结构，即并不能保证识别的顺序一定符合固定的阅读顺序。因此，数学公式的 OCR 模型往往显著有别于常规的自然语言文本 OCR 处理技术。通常来说，数学公式的 OCR 识别需要借助使用 LaTeX 等结构化的文档标记语言来实现，即，OCR 给出的输出是一组 LaTeX 标记符号。
 场景文本识别：场景文本识别，有时也被称作通用文本识别技术。这类识别技术能够对任意场景下的图片中包含的任意形式的文本进行识别，包括但不仅限于：街边商铺的招牌、超市内商品中的文本、合影中人物衣着上的文本、城市建筑上的商标名称等等。这类技术已经被应用到了许多应用中，例如智能手机中允许搜索或提取相册中带有文本内容的图像，聊天软件中允许直接复制对方发送图片中的文本内容等。
 古籍文本识别：古籍文档与现代印刷的排版和布局通常具有很大的差别，例如，阅读顺序可能自上而下，自右向左等。因此，使用基于现代文档数据开发的 OCR 技术和模型在包含这些内容的图像上的识别效果往往不够好。因此，在对大量古籍进行数字化保护的过程中，催生了专门针对该类型文档内容进行识别的 OCR 技术。

过程

输入 
对于不同的图像格式，有着不同的存储格式、不同的压缩方式，目前有OpenCV、CxImage等。

前期处理

二值化 
如今数码摄像头拍摄的图片，大多数是彩色图像，彩色图像所含信息量巨大，较为不适用于OCR技术。

对于图片的内容，我们可以简单的分为前景与背景，为了让计算机更快的、更好地进行OCR相关计算，我们需要先对彩色图进行处理，使图片只剩下前景信息与背景信息。二值化也可以简单地将其理解为“黑白化”。

图像降噪 
对于不同的图像，噪点的定义可能不同，根据噪点的特征进行去噪的过程，稱為降噪。

倾斜校正 
由于一般用户，在拍照文档时，难以拍摄得完全符合水平平齐与竖直平齐，因此拍照出来的图片不可避免的产生倾斜，这就需要图像处理软件进行校正。

中期处理

版面分析 
将文档图片分段落，分行的过程稱為版面分析，由于实际文档的多样性、复杂性，此步骤目前仍待优化。

字符切割 
由于拍照、书写条件的限制，经常造成字符粘连、断笔，直接使用此类图像进行OCR分析将会极大限制OCR性能。因此需要进行字符切割，即：将不同字符之间分割开。

字符识别 
早期以模板匹配为主，后期以特征提取为主。由于文字的位移、笔画的粗细、断笔、粘连、旋转等因素的影响，极大地影响特征提取难度。

版面還原 
人们希望识别后的文字，仍然像原始文档图片那样排列，段落、位置、顺序不变地输出到Word文档、PDF文档等，这一过程稱為版面还原。

后期处理 
根据特定的语言上下文的关系，对识别结果进行校正。

输出 
将识别出的字符以某一格式的文本输出。

发展历史 
OCR的概念是在后来

主流实现
CNN+RNN+CTC
CNN+RNN 基于 Attention 的方法。

参考来源

G
自動辨識與資料擷取