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

测试时使用的图片

相关推荐
楼田莉子几秒前
Linux网络:多路转接IO
服务器·c++·后端·软件构建
Chloeis Syntax2 分钟前
JavaEE学习日记(2)---文件操作和IO
java·笔记·学习·java-ee
无风听海2 分钟前
OAuth 2.0 response_type完全指南
java·开发语言·oauth
Cyan_RA93 分钟前
SpringMVC 数据格式化处理 详解
java·开发语言·spring·mvc·ssm·springmvc·数据格式化
倔强的小石头_4 分钟前
密码多了记不住,放云端又怕泄露?我用 NAS 自建了密码保险箱
服务器·password
SunnyDays10115 分钟前
Java 实现 PDF 中文文本查找与高亮的四种方法
java·pdf·查找文字
倒流时光三十年7 分钟前
PostgreSQL 一次由 string_agg 引发的数据错位 Bug 深度复盘
java·postgresql·string_agg
Gofarlic_OMS9 分钟前
Mastercam浮动许可利用率低:软件许可浪费,回收再分配
java·大数据·开发语言·架构·制造
岳来9 分钟前
linux 设备目录/dev 学习
linux·服务器·/dev
红茶要加冰9 分钟前
三、条件测试
linux·运维·服务器