使用Tesseract OCR 提取复杂图像中的文字

Tesseract OCR 文字识别库识别率还是非常高的,但是前提是图像背景简单,如果有复杂的背景,识别率几乎为0.

下面介绍从具有复杂背景图像中应用 Tesseract OCR提取文字的关键技巧。以我做的提取运动员号码的项目为例。

测试图例:更多测试图例,请访问http://www.physoft.net/?p=554

1. 前处理。

    前处理主要完成两个任务:

    a. 定位:根据目标图像的特征定位目标的区域。如图例,需要定位每个运动员数字标签的标签区域。Tesseract 对以文字为主体的图像识别率还是非常不错的。所以我们需要将定位到的区域抠出来做后面的处理,再给Tesseract 识别。定位是非常困难的,涉及到目标图像的特征,一般来说是几何特征。但是因为图像复杂,特征常常也被其他物体破坏(物理上的破坏,或者光照、雾,遮挡破坏)。

    b. 二值化:Tesseract 号称可以处理color图像,但是估计只有对二值化的图像,识别率才能达到可接受的程度。所以二值化可以极大的提高Tesseract识别率。将第一步定位到的局部图像二值化。这一步相对第一步要简单很多,但是仍然很具有挑战性。必定二值化的结果比较良好,否则 Tesseract 就有意见了。

 前处理是成败的关键,也是最难的部分。前处理做好了,Tesseract 就听话了。前处理一般来说需要大量的图像处理技巧。

2. 错误文字的剔除:

   a. 这一步相对简单,调用Tesseract,使用makebox参数,从output文件中获取提取到的结果,包括位置,大小。根据前处理中定位步骤中获取的几何特征,来过滤output中结果。如文字过宽,过小,顺序不对等。注意,Tesseract 输出的文字区域经常有区域重叠等现象,需要先使用程序重整。

   b. 使用Tesseract的tord_display_ratings,根据准确度来淘汰低准确度的文字。

   c. 多研究Tesseract配置

3. 除1,2外,Tesseract的training也是很重要的,而且train的样例越多越好。

转载于:https://www.cnblogs.com/physoft/archive/2011/07/15/2107417.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值