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

相关推荐
2301_803554527 分钟前
阻塞,非阻塞,同步,异步以及linux上的5种IO模型阻塞,非阻塞,信号驱动,异步,IO复用
java·服务器·网络
仰望星空_Star19 分钟前
Java证书操作
java·开发语言
河北小博博22 分钟前
分布式系统稳定性基石:熔断与限流的深度解析(附Python实战)
java·开发语言·python
岳轩子23 分钟前
JVM Java 类加载机制与 ClassLoader 核心知识全总结 第二节
java·开发语言·jvm
J_liaty32 分钟前
Spring Boot + MinIO 文件上传工具类
java·spring boot·后端·minio
2601_9496130236 分钟前
flutter_for_openharmony家庭药箱管理app实战+药品详情实现
java·前端·flutter
木井巳39 分钟前
【递归算法】求根节点到叶节点数字之和
java·算法·leetcode·深度优先
没有bug.的程序员42 分钟前
Spring Boot 事务管理:@Transactional 失效场景、底层内幕与分布式补偿实战终极指南
java·spring boot·分布式·后端·transactional·失效场景·底层内幕
华农第一蒟蒻1 小时前
一次服务器CPU飙升的排查与解决
java·运维·服务器·spring boot·arthas
EkihzniY1 小时前
科技新助力
ocr