tesseract-ocr+java实现图片文字识别
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实现图片文字识别相关推荐
- Tesseract OCR+Tess4j实现图片中英文识别
文章目录 Tesseract 简介 环境搭建 下载语言库 tess4j 依赖 demo Tesseract 简介 Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经 ...
- java实现图片文字识别的两种方法
一.使用tesseract-ocr 1. https://github.com/tesseract-ocr/tesseract/wiki上下载安装包安装和简体中文训练文件 window64位安装 ...
- 电脑pc端ABBYY FineReader OCR 2021免费图片文字识别软件
ABBYY FineReader是一款特别优秀的OCR与PDF处理软件. 它主要是用于在处理文档时提高业务生产力.以人工智能为基础的 FineReader 15 提供强大且易用的工具来帮助您获得纸质文 ...
- python调用搜狗OCR接口实现图片文字识别
import requests multiple_files = {'pic': ('1111111.jpg', open( r'QQ截图20180905172943.jpg', 'rb'), 'im ...
- python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...
0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...
- 【图片识别】java 图片文字识别 ocr (转)
http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...
- Java 使用开源类库 Tesseract 实现图片文字识别
Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选.Tess4J则是Tesseract在Java上的应用.Tess4J的官网地址为:http://tess4j ...
- Java调用百度OCR文字识别API实现图片文字识别软件
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
- 阿里云 OCR 图片文字识别接口使用案例(java)
阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...
最新文章
- SpringCloud Alibaba微服务实战(三) - Nacos服务创建消费者(Feign)
- eviews如何处理缺失数据填补_python数据预处理之异常值、缺失值处理方法
- 中国碳纤维风电叶片行业“十四五”发展规划及投资可行性分析报告2022-2028年版
- BJUI修改弹窗dialog的宽度和高度
- CICD流程设计及openshift与k8s的命令对比
- C语言检查列表是否是回文的算法(附完整源码)
- ssm 异常捕获 统一处理_统一异常处理介绍及实战,看这篇就对了
- ImageSharp一个专注于NetCore平台图像处理的开源项目
- 20. Cookie 和 Session
- LaTeX插入图片时,图总是置顶的解决办法
- python二元一次方程组用鸡兔同笼的思路来写编程_应用二元一次方程组——鸡兔同笼教学设计方案...
- IPv6技术详解:基本概念、应用现状、技术实践(上篇)
- 软件缺陷报告模板(微信缺陷报告案例)
- Flask入门(4):CBV和FBV
- 计算机控制op,《计算机控制技术》
- 关于二进制转10进制的按权展开
- 迎娶白富美,走上人生巅峰(python爬虫股票分析)
- 身份证识别web端调用
- python中为什么加上中文注释就会报错
- 「微信同声传译」小程序插件:快速实现语音转文字、文本翻译、语音合成等能力...