TesseractOCR(光学字符识别)引擎概述(一)

本文详细介绍了Tesseract OCR引擎的发展历程,从惠普实验室的初始开发到Google的优化改进,再到开源社区的贡献。文章深入探讨了Tesseract的架构,包括连通区域分析、文本行和单词查找、自适应分类器的使用,以及如何处理含糊不清的空格和特殊文本格式。此外,还讨论了如何通过高度比例调节和中位数最小方差拟合等技术提高识别精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、TesseractOCR引擎简介

二、TesseractOCR架构

三、文本行和单词的查找(Text-line and Word Finding)

 


原文参见《Adapting the Tesseract Open Source OCR Engine for Multilingual OCR》

下载链接:https://download.youkuaiyun.com/download/kangshuaibing/10799843

一、TesseractOCR引擎简介

 

Tesseract是惠普布里斯托实验室在1985到1995年间开发的一一个开源的OCR引擎,曾经在1995 UNLV精确度测试中名列前茅。但1996年后基本停止了开发。2005年,惠普将其对外开源,2006 由Google对Tesseract进行改进、消除Bug、优化工作。目前项目地址为: https://github.com/tesseract-ocr/tesseract

二、TesseractOCR架构

Tesseract的识别步骤大致如下:

 

Figure1. Top-level block diagram of Tesseract

1.连通区域分析,检测出字符区域区域(轮廓外形),以及子轮廓。在此阶段轮廓线集成为块区域。

2.由字符轮廓和块区域得出文本行,以及通过空格识别出单词。固定字宽文本通过字符单元分割出单个字符,而对百分号的文本(Proportional text)通过一定的间隔和模糊间隔(fuzzy spaces)来分割:

3.依次对每个单词进行分析,采用自适应分类器,分类器有学习能力,先分析且满足条件的单词也作为训练样本,所以后面的字符( 比如页尾)识别更准确:此时,页首的字符识别比较不准确,所以tesseract会再次对识别不太好的字符识别是其精度得到提高。

4.最后,识别含糊不清的空格,及用其他方法,如由笔画高度(x-height),识别小写字母(small-cap)的文本。

 

 

三、文本行和单词的查找(Text-line and Word Finding)

 

a. 假设页面布局分析(page layout analysis) 大致确定了文本区域和文本尺寸,一个简单百分位高度过滤器(percentile height fiter)可以将跨行大写字母及纵向粘连一起的字符过滤掉,利用字符的高度信息,选取所有字符的中值高度,通过高度的比例调节去掉一些无关的块,比如标点符号,变音符和噪声等;

b.对块区域的x坐标排序,利用坐标拟合直线(baseline) ,拟合方法:中位数最小方差拟合(least median of squares fit)

c.进一步,拟合文本行的形状,利用四次多项式,将文本行看成螺线形,采用最小二乘法拟合

d.检测出等距文本(fixed pitch text),对粘连的文本进行分割(chopping)


e.对非等距字体如百分号,斜体等问题,利用中线、基准线之间的空白大小,来分割字符

链接:TesseractOCR(光学字符识别)引擎概述(二)

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值