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

测试时使用的图片

相关推荐
lichong9517 小时前
Android studio 修改包名
android·java·前端·ide·android studio·大前端·大前端++
lichong9517 小时前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
@yanyu6667 小时前
Tomcat安装与HTML响应实战
java·tomcat·html
せいしゅん青春之我7 小时前
[JavaEE初阶] 防止网络传输中的中间人入侵---证书
服务器·网络·网络协议·java-ee
Wang's Blog8 小时前
Linux小课堂: 输入重定向与管道操作详解
linux·运维·服务器
Chen-Edward8 小时前
有了Spring为什么还有要Spring Boot?
java·spring boot·spring
w23617346019 小时前
Linux 服务器安全巡检与加固:从命令到实操(CentOS/Ubuntu 通用)
linux·服务器·安全·安全加固·安全巡检
陈小桔9 小时前
idea中重新加载所有maven项目失败,但maven compile成功
java·maven
小学鸡!9 小时前
Spring Boot实现日志链路追踪
java·spring boot·后端
TG_yunshuguoji9 小时前
阿里云云代理商:阿里云CDN刷新机制是什么?
服务器·阿里云·云计算