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

测试时使用的图片

相关推荐
专注于大数据技术栈18 小时前
java学习--LinkedHashSet
java·开发语言·学习
gaize121318 小时前
科普篇“机架、塔式、刀片”三类服务器对比
运维·服务器
阿湯哥18 小时前
Spring AI Alibaba 实现 Workflow 全指南
java·人工智能·spring
咕噜企业分发小米18 小时前
如何利用云服务器搭建游戏服务器并实现跨平台游戏?
运维·服务器·游戏
旺仔小拳头..18 小时前
Java ---变量、常量、类型转换、默认值、重载、标识符、输入输出、访问修饰符、泛型、迭代器
java·开发语言·python
123445219 小时前
【面试复盘】有了equals为什么还要hashcode
java·后端
毕设源码-邱学长19 小时前
【开题答辩全过程】以 台球俱乐部管理系统为例,包含答辩的问题和答案
java·eclipse
蜗牛^^O^19 小时前
java中的JUC
java·开发语言
进阶小白猿19 小时前
Java技术八股学习Day17
java·jvm·学习
带刺的坐椅19 小时前
从 Chat 到 Agent:Solon AI 带你进入“行动派”大模型时代
java·ai·agent·solon·mcp·java25