VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 使用Tesseract-Ocr识别数字

前言

Tesseract-Ocr是我在编写爬虫项目中,用来识别图片(不是验证码)的本地解决方案(因为客户不想使用API识别,太贵),识别率目前达到了100%,可以说是相当了得,当然了,这取决于使用的traineddata

简介

Tesseract最初是在1985年至1994年间在Hewlett-Packard Laboratories Bristol和Greeley Colorado的Hewlett-Packard Co开发的,1996年进行了一些更改,移植到Windows,并且随着C++在1998年兴起。2005年Tesseract由惠普开源,然后从2006年至今,由谷歌继续开发。

Tesseract-Ocr并不是一个软件,它是一个软件包,包含了一个OCR引擎【libtesseract】和一个命令行程序 【tesseract】。Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM),该引擎专注于行级识别,但仍然支持Tesseract 3的传统Tesseract OCR引擎,该引擎通过识别字符模式来工作。

要启用与Tesseract 3的兼容性,你需要使用Legacy OCR Engine模式(--oem 0)。它还需要支持传统引擎的traineddata(训练好的数据文件),这些文件可以从tessdata存储库的文件获取。

Tesseract支持识别unicode(UTF-8),可以“开箱即用”识别100多种语言。

Tesseract支持多种输出格式:纯文本,hOCR(HTML),PDF,TSV。主分支还具有ALTO(XML)输出的实验支持。

⭐️⭐️⭐️ 具体介绍可以上tesseract-wiki查看。

在Java上使用

创建项目,并引入Jar包

Maven

<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>4.3.1</version>
</dependency>

Gradle

compile 'net.sourceforge.tess4j:tess4j:4.3.1'

导入traineddata

traineddata是使用Tesseract-Ocr训练好的数据文件,可以直接使用。这些文件你可以去tessdata存储库查找,也可以去谷歌搜索,当然了,你也可以自己训练


相关教程