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

测试时使用的图片

相关推荐
问道飞鱼1 分钟前
【Linux知识】Shell 脚本参数详解:从基础到高级应用
linux·运维·服务器·shell
观音山保我别报错8 分钟前
文件操作指南
linux·运维·服务器
琢瑜15 分钟前
问题1:Oracle Java路径干扰。问题2:环境变量加载顺序问题
java·maven
Yang-Never15 分钟前
Open GL ES->以指定点为中心缩放图片纹理的完整图解
android·java·开发语言·kotlin·android studio
编程修仙20 分钟前
第十一篇 Spring事务
xml·java·数据库·spring
7哥♡ۣۖᝰꫛꫀꪝۣℋ22 分钟前
Spring Boot ⽇志
java·spring boot·后端
清晓粼溪24 分钟前
Mybatis02:核心功能
java·mybatis
weisonx24 分钟前
为什么要多写文章博客
java·c++
大佐不会说日语~32 分钟前
SSE 流式输出 Markdown 实时渲染问题解决方案
java·vue.js·sse·spring ai·前端实时渲染
塔能物联运维38 分钟前
设备断网时数据丢失,后来启用本地缓存+异步重传队列
java·开发语言·缓存