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

测试时使用的图片

相关推荐
QWEDDRFTG7 分钟前
家用服务器供电
服务器
Eloudy22 分钟前
给 Linux 加新硬盘的挂载命令
linux·运维·服务器
lilian23326 分钟前
Harmony os 技术实战|拼豆制图10:把取消、解析失败和保存失败写成可恢复状态机
java·javascript·华为·harmonyos
三言老师34 分钟前
ss高效查看网络连接端口实操
linux·运维·服务器·网络
三言老师36 分钟前
traceroute路由追踪实操
linux·运维·服务器·网络
whn19771 小时前
达梦连接串JDBC测试程序
java·数据库
还是鼠鼠1 小时前
Spring AI ChatClient详解:创建第一个AI客户端
java·springboot·spring ai·chatclient
Bobolink_1 小时前
国际专线的两种隔离方式:物理独占和逻辑隔离的区别
服务器·网络·iplc·iepl
vHelios1 小时前
【电商项目】测试 授权功能 遇到的问题与解决方案
java·spring boot·sql
刚入门的大一新生1 小时前
Linux-基础开发工具1
linux·运维·服务器