springboot实现OCR

1、引入依赖

XML 复制代码
<dependency>
	<groupId>net.sourceforge.tess4j</groupId>
	<artifactId>tess4j</artifactId>
	<version>4.5.4</version>
</dependency>

2、config

java 复制代码
@Configuration
public class TessOcrConfiguration {

   @Bean
   public Tesseract tesseract() {
      Tesseract tesseract = new Tesseract();
      // 设置训练数据文件夹路径
      tesseract.setDatapath("D:/tessdata");
      // 设置为中文简体
      tesseract.setLanguage("chi_sim");
      return tesseract;
   }
}

3、定义api

java 复制代码
@PostMapping(value = "/ocr", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String ocr(@RequestParam("file") MultipartFile file) throws TesseractException, IOException {
    return weChatService.ocr(file);
}

4、定义service

java 复制代码
@Resource
private Tesseract tesseract;

@Override
public String ocr(MultipartFile file) throws TesseractException, IOException {
    InputStream sbs = new ByteArrayInputStream(file.getBytes());
    BufferedImage bufferedImage = ImageIO.read(sbs);
    return tesseract.doOCR(bufferedImage);
}

5、将官方的简体中文训练数据(后缀为.traineddata的文件)放到配置的目录(D:/tessdata)下

下边是官方训练数据的下载地址,打开后可以找到简体中文的文件 chi_sim.traineddata,下载下来放到指定位置就可以了

tess4j官方训练数据下载https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/6、测试效果

测试图片

postman调用

可以发现【霜】被识别成了【需】,说明还是有一定的误差

相关推荐
Le1Yu24 分钟前
2025-10-7学习笔记
java·笔记·学习
popoxf30 分钟前
spring容器启动流程(反射视角)
java·后端·spring
AAA修煤气灶刘哥2 小时前
监控摄像头?不,我们管这个叫优雅的埋点艺术!
java·后端·spring cloud
寻星探路2 小时前
Java EE初阶启程记09---多线程案例(2)
java·开发语言·java-ee
武子康2 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务
珹洺2 小时前
Java-Spring入门指南(十五)SpringMVC注解开发
java·spring·microsoft
小满、2 小时前
什么是Maven?关于 Maven 的坐标、依赖管理与 Web 项目构建
java·maven
半旧夜夏3 小时前
【设计模式】核心设计模式实战
java·spring boot·设计模式
皮皮林5513 小时前
SpringBoot 控制台秒变炫彩特效,秀翻同事指南!
spring boot
半旧夜夏3 小时前
【Spring】AOP的核心原理配方
java·spring