使用Tesseract-Ocr进行识别数字

  • Tesseract-Ocr不是一个软件,而是软件包,包含了一个OCR引擎【libtesseract】和一个命令行程序 【tesseract】。
  • Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM),该引擎专注于行级识别,但仍然支持Tesseract 3的传统.
  • Tesseract OCR引擎,该引擎通过识别字符模式来工作。
  • Tesseract支持识别unicode(UTF-8),可以直接识别100多种语言。
  • Tesseract支持多种输出格式:纯文本,hOCR(HTML),PDF,TSV。主分支还具有ALTO(XML)输出的实验支持。

windows安装tesseract-OCR

  • 配置完成后 cmd验证

在Java上使用

  • Maven
<dependency> 
<groupId>net.sourceforge.tess4j</groupId>
 <artifactId>tess4j</artifactId>
 <version>4.3.1</version> 
</dependency>
  • Java测试代码示例

public static void main(String[] args) throws TesseractException {
    ITesseract instance = new Tesseract();
//指定学习文件绝对路径 
instance.setDatapath("/Users/tessdata");
//如果需要识别英文之外的语种,需要指定识别语种,并且需要将对应的语言包放进项目中
// instance.setLanguage("chi_sim");
   instance.setLanguage("eng");
// 指定识别图片
 File imgDir = new File("/Users//Downloads/1.png");
long startTime = System.currentTimeMillis();
String ocrResult = instance.doOCR(imgDir);
 // 输出识别结果
System.out.println("OCR Result: \n" + ocrResult + "\n 耗时:" + (System.currentTimeMillis() - startTime) + "ms");

    }
  • 简单图片进行识别

  • 运行结果

识别准确率,主要在于你选择的训练数据文件。

训练工具

https://github.com/tesseract-ocr/tesseract/wiki/AddOns

训练数据仓库

  • tessdata_best:基于LSTM引擎的训练数据,最佳最准确的
  • tessdata_fast:基于LSTM引擎的训练数据,快速(精简)版本
  • tessdata:支持双引擎(LSTM和传统引擎),但LSTM训练数据不是最新的版本

参考

tesseract-ocr-wiki

Jinming

95后典型金牛座,强迫症。

相关推荐

2 条评论

  1. Jinming

    2

小程序 小程序
小程序