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文件)

测试时使用的图片

相关推荐
一氧化二氢.h3 小时前
【java】的数组列表和集合的区别是什么
java·开发语言
PersistJiao3 小时前
开发环境对比:VS Code、Cursor、IntelliJ IDEA
java·ide·intellij-idea
科研小白_3 小时前
【第二期:MATLAB点云处理基础】KD树与点云邻域搜索
java·前端·人工智能
爱网络爱Linux3 小时前
华为HCIP——BGP 基础配置
服务器·前端·华为·hcip·hcip datacom·华为数通认证
Don.TIk3 小时前
天机の学堂
java·spring boot·spring·maven·mybatis
沧州刺史3 小时前
有域名但是没有带公网IP的服务器,怎么能够让服务通过域名暴露出去?
服务器·网络协议·tcp/ip·cloudflared
asdfg12589633 小时前
无用空数组的用法:numberList.toArray(new Integer[0])
java·开发语言
悠哉清闲3 小时前
生成pcm文件并播放查看波形
java·pcm
Devin~Y3 小时前
大厂Java面试实录:Spring Boot/JPA/Redis/Kafka/K8s 可观测性 + Spring AI RAG/Agent(小Y翻车现场)
java·spring boot·redis·mybatis·hibernate·spring mvc·jpa
likerhood3 小时前
认识 JVM:Java 程序背后的那台“隐形计算机”
java·开发语言·jvm