Java中使用Tesseract进行图片文字识别

一个技术小宅男的分享基地

本文主要讲解Java调用Tesseract进行图片文字提取

文字识别百度百科介绍

利用计算机自动识别字符的技术,是模式识别应用的一个重要领域。人们在生产和生活中,要处理大量的文字、报表和文本。为了减轻人们的劳动,提高处理效率,50年代开始探讨一般文字识别方法,并研制出光学字符识别器。60年代出现了采用磁性墨水和特殊字体的实用机器。60年代后期,出现了多种字体和手写体文字识别机,其识别精度和机器性能都基本上能满足要求。如用于信函分拣的手写体数字识别机和印刷体英文数字识别机。70年代主要研究文字识别的基本理论和研制高性能的文字识别机,并着重于汉字识别的研究。

Tesseract介绍

This package contains an OCR engine - libtesseract and a command line program - tesseract.

The lead developer is Ray Smith. The maintainer is Zdenko Podobny. For a list of contributors see AUTHORS and GitHub's log of contributors.

Tesseract has unicode (UTF-8) support, and can recognize more than 100 languages "out of the box".

Tesseract supports various output formats: plain-text, hocr(html), pdf, tsv, invisible-text-only pdf.

You should note that in many cases, in order to get better OCR results, you'll need to improve the quality of the image you are giving Tesseract.

This project does not include a GUI application. If you need one, please see the 3rdParty wiki page.

Tesseract can be trained to recognize other languages. See Tesseract Training for more information.

开始上手实践

1.创建一个Maven Project,并配置Tesseract相关依赖包

2.下载识别中文字体库

https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata

3.开始coding

代码没法在这里很好的格式化查看。请移步:

https://gitee.com/xshuai/codes/8nhr3wb4d07ejiclv29yu63

4.测试一张图片

5.看一下输出结果和耗时

耗时3.763 s

识别结果:

Check .

可以看出识别结果还是OK的。还是可以用来做一些印刷体清晰的识别的。耗时的话时间就有点长。想有更加体验。请访问小程序 耗时短还支持手写字体识别哦

文字识别|手写体识别

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180622G1JPJR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券