ocr是Optical Character Recognition的简写,就是光学字符识别技术。主要是对包含文本资料的图片进行识别,获取文本信息的技术。

目前tesseract-ocr这个工具可以很方便的在Windows、Linux、Mac下安装。

windows下的安装链接:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.0.1.20220118.exe

这个工具安装之后,需要设置环境变量TESSDATA_PREFIX,这个变量是设置tesseract安装目录下tessdata的目录位置。

为了在命令行下使用tesseract可执行程序,最好把tesseract-ocr安装路径加入Path环境变量中。

这样,我们在命令行下就可以使用tesseract命令了,如下是检验tesseract安装是否正确:

我们可以使用一个带字符的图片做验证:

该图片就是hello.png,上面有“hello.tesseract”字样。

命令行下,通过tesseract images\hello.png hello,可以把images目录下的hello.png图片识别,提取的文字保存在hello.txt文件中。

/

以上是通过tesseract-ocr工具直接提取图片中的字符,下面通过程序来提取,这里以java程序为例,加入net.sourceforge.tess4j依赖。

<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.6.0</version>
</dependency>

Java代码也是极其简单:

package ocr;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import java.io.File;
public class TestOCR {public static void main(String[] args) {Tesseract instance = new Tesseract();//instance.setDatapath("D:\\Program Files\\Tesseract-OCR\\tessdata");File imageFile = new File("D:\\yofc\\python\\images\\hello.png");try {String result = instance.doOCR(imageFile);System.out.println(result);} catch (TesseractException e) {e.printStackTrace();}}
}

运行程序,打印信息如下:

这段代码,就是新建了一个Tesseract实例,然后就开始识别图片文件,仅仅四行代码就完成了识别和打印识别结果在内的功能。其实有的地方提到需要设置训练文件位置,如果我们前面的安装设置了TESSDATA_PREFIX,这里就不用设置了,本例就注释了这行代码:

instance.setDatapath("D:\\Program Files\\Tesseract-OCR\\tessdata");

同样可以运行成功,因为在Tesseract实例化的时候,会读取系统变量TESSDATA_PREFIX的值,并进行设置:

public Tesseract() {try {this.datapath = System.getenv("TESSDATA_PREFIX");} catch (Exception var5) {} finally {if (this.datapath == null) {this.datapath = "./";}}}

至此,OCR示例就已经说完了,对于java开发而言,代码极其简单。有的地方,采用执行命令的方式,通过模拟命令行调用tesseract识别图片,其实没必要,那种代码如果移植,又需要设置linux环境下的安装路劲,非常麻烦。

tesseract-ocr+java实现图片文字识别相关推荐

  1. Tesseract OCR+Tess4j实现图片中英文识别

    文章目录 Tesseract 简介 环境搭建 下载语言库 tess4j 依赖 demo Tesseract 简介 Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经 ...

  2. java实现图片文字识别的两种方法

    一.使用tesseract-ocr 1.    https://github.com/tesseract-ocr/tesseract/wiki上下载安装包安装和简体中文训练文件 window64位安装 ...

  3. 电脑pc端ABBYY FineReader OCR 2021免费图片文字识别软件

    ABBYY FineReader是一款特别优秀的OCR与PDF处理软件. 它主要是用于在处理文档时提高业务生产力.以人工智能为基础的 FineReader 15 提供强大且易用的工具来帮助您获得纸质文 ...

  4. python调用搜狗OCR接口实现图片文字识别

    import requests multiple_files = {'pic': ('1111111.jpg', open( r'QQ截图20180905172943.jpg', 'rb'), 'im ...

  5. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  6. 【图片识别】java 图片文字识别 ocr (转)

    http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...

  7. Java 使用开源类库 Tesseract 实现图片文字识别

    Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选.Tess4J则是Tesseract在Java上的应用.Tess4J的官网地址为:http://tess4j ...

  8. Java调用百度OCR文字识别API实现图片文字识别软件

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  9. 阿里云 OCR 图片文字识别接口使用案例(java)

    阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...

最新文章

  1. SpringCloud Alibaba微服务实战(三) - Nacos服务创建消费者(Feign)
  2. eviews如何处理缺失数据填补_python数据预处理之异常值、缺失值处理方法
  3. 中国碳纤维风电叶片行业“十四五”发展规划及投资可行性分析报告2022-2028年版
  4. BJUI修改弹窗dialog的宽度和高度
  5. CICD流程设计及openshift与k8s的命令对比
  6. C语言检查列表是否是回文的算法(附完整源码)
  7. ssm 异常捕获 统一处理_统一异常处理介绍及实战,看这篇就对了
  8. ImageSharp一个专注于NetCore平台图像处理的开源项目
  9. 20. Cookie 和 Session
  10. LaTeX插入图片时,图总是置顶的解决办法
  11. python二元一次方程组用鸡兔同笼的思路来写编程_应用二元一次方程组——鸡兔同笼教学设计方案...
  12. IPv6技术详解:基本概念、应用现状、技术实践(上篇)
  13. 软件缺陷报告模板(微信缺陷报告案例)
  14. Flask入门(4):CBV和FBV
  15. 计算机控制op,《计算机控制技术》
  16. 关于二进制转10进制的按权展开
  17. 迎娶白富美,走上人生巅峰(python爬虫股票分析)
  18. 身份证识别web端调用
  19. python中为什么加上中文注释就会报错
  20. 「微信同声传译」小程序插件:快速实现语音转文字、文本翻译、语音合成等能力...

热门文章

  1. 2021年广东省专业技能大赛——大数据技术与应用 真题题目及解析(2)
  2. GOG Galaxy连接Ubisoft Connect或者UPlay失败解决方法
  3. 中控考勤机网络化方案
  4. skyline v6 三维学习软件
  5. CloudXNS探索之旅
  6. Chain of Responsibility 模式-----推卸责任模式
  7. 小狐瞎扯coalesce与repartition
  8. 520表白html实现3D动态相册,换成女朋友照片
  9. Android Studio 安装和配置genymotion模拟器过程中所遇到的问题
  10. 环境初始化与数据清除