java实现ocr功能(Tesseract OCR)

1、pom文件中引入依赖

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

2、下载语言库文件(不要放到resources下,可以放到项目所在目录下,在博主的主页资源菜单下可下载,也可自行在网上找资源下载)

参考目录结构(也可以放其他位置,只要代码能找到就行):

3、代码:

java 复制代码
@PostMapping("/ocr2")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "识别图像2", notes = "上传图像")
public R<String> ocr2(@RequestBody MultipartFile file) throws Exception {
    Tesseract instance = new Tesseract();
    // 设置Tesseract的语言库路径
    ClassPathResource classPathResource = new ClassPathResource("/tessdata");
    String tessDataPath = classPathResource.getPath();
    instance.setDatapath(tessDataPath);
    instance.setLanguage("chi_sim");
    String ocrResult = "";
    File tfile = File.createTempFile("tempfile", file.getOriginalFilename());
    file.transferTo(tfile);
    ocrResult = instance.doOCR(tfile);
    return R.data(ocrResult);
}

4、测试接口(只能上传jpg文件)

测试时使用的图片

相关推荐
Grey Zeng11 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白12 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默16 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群17 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL18 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301419 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥19 小时前
原来公平锁和非公平锁差别这么大
java
渣哥19 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K19 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72519 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构