Java调用tess4j完成 OCR 文字识别

1,新建 maven 工程

2,引入依赖

<dependency>

<groupId>net.sourceforge.tess4j</groupId>

<artifactId>tess4j</artifactId>

<version>5.11.0</version>

</dependency>

3,安装 tesseract-ocr

下载地址https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.3.20231005.exe

其他版本可以查看 https://digi.bib.uni-mannheim.de/tesseract/

安装过程中一直点下一步,建议取消语言包选项,后面手动下载

可能需要安装visual c++ 2015-2019 redistributable或最新版visual c++ 2015-2022 redistributable

4,下载语言包

https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/

下载enm.traineddata和chi_sim.traineddata,复制粘贴到C:\Program Files\Tesseract-OCR\tessdata

5,调用 Tesseract API 完成文本识别

import java.io.File;

import net.sourceforge.tess4j.Tesseract;

public class Tess4jDemo {

public static void main(String[] args) {

// 创建实例

Tesseract instance = new Tesseract();

// 设置语言包路径

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

// 设置语言

instance.setLanguage("chi_sim");

// 设置文本文件

File file = new File("C:\\Users\\user1\\Desktop\\截图.PNG");

try {

// 文本识别

String result = instance.doOCR(file);

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

}

}

示例代码见

https://download.csdn.net/download/daqinzl/89221358

相关推荐
xiao--xin14 分钟前
Java定时任务实现方案(一)——Timer
java·面试题·八股·定时任务·timer
MrZhangBaby27 分钟前
SQL-leetcode—1158. 市场分析 I
java·sql·leetcode
一只淡水鱼6641 分钟前
【spring原理】Bean的作用域与生命周期
java·spring boot·spring原理
五味香1 小时前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
jerry-891 小时前
Centos类型服务器等保测评整/etc/pam.d/system-auth
java·前端·github
Jerry Lau1 小时前
大模型-本地化部署调用--基于ollama+openWebUI+springBoot
java·spring boot·后端·llama
小白的一叶扁舟1 小时前
Kafka 入门与应用实战:吞吐量优化与与 RabbitMQ、RocketMQ 的对比
java·spring boot·kafka·rabbitmq·rocketmq
幼儿园老大*1 小时前
【系统架构】如何设计一个秒杀系统?
java·经验分享·后端·微服务·系统架构
言之。1 小时前
【Java】面试中遇到的两个排序
java·面试·排序算法
计算机-秋大田2 小时前
基于SSM的家庭记账本小程序设计与实现(LW+源码+讲解)
java·前端·后端·微信小程序·小程序·课程设计