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

测试时使用的图片

相关推荐
小园子的小菜2 分钟前
生产实战|冷热数据转换:从识别、触发到落地全流程解析
java·开发语言·spring
开开心心就好4 分钟前
一款既是直播工具又是浏览器的软件
linux·运维·服务器·智能手机·逻辑回归·excel·最小二乘法
invicinble6 分钟前
对于线程的思路
java
tangyal7 分钟前
DNS(BIND) 正反向解析文件的部署实验
linux·运维·服务器·bind·dns正向解析·dns反向解析
iwS2o90XT15 分钟前
WebSocket编程:Java实现实时双向通信应用
java·websocket·网络协议
Fcy64815 分钟前
Linux下 进程控制(三) —— ⾃主Shell命令⾏解释器
linux·服务器
Highcharts.js18 分钟前
技术组合分析:Highcharts 的数据集成能力解析
java·前端·金融·echarts·saas·bi·highcharts
煜36421 分钟前
环境变量与虚拟内存
linux·运维·服务器
脆皮炸鸡75528 分钟前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
wuyoula44 分钟前
尹之盾企业版网络验证
服务器·开发语言·javascript·c++·人工智能·ui·c#