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

测试时使用的图片

相关推荐
YQ_0113 小时前
【Linux】解决两个USB设备VID/PID/序列号全一样无法区分的问题 (udev物理端口绑定)
linux·运维·服务器
青w韵13 小时前
SpringBoot3.x 升级到 SpringBoot 4.x,JDK17升级到JDK21
java·后端·spring
vx_bisheyuange13 小时前
基于SpringBoot的经方药食服务平台
java·spring boot·后端·毕业设计
惊讶的猫13 小时前
nia500总结
java·spring·mybatis
奔跑吧 android14 小时前
【ubuntu24.04】【安装jdk】
java·开发语言
haluhalu.14 小时前
深入理解Linux信号机制:中断、用户态与内核态
linux·运维·服务器
二哈喇子!14 小时前
Linux系统配置jdk
linux·运维·服务器·jdk
dddddppppp12314 小时前
linux 块设备驱动程序之helloworld
linux·服务器·网络
BUTCHER514 小时前
Java 启动服务时指定JVM(Java 虚拟机)的参数配置说明
java·开发语言·jvm
sheji341614 小时前
【开题答辩全过程】以 会议室场地预约系统为例,包含答辩的问题和答案
java