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

测试时使用的图片

相关推荐
wanhengidc5 分钟前
云手机存在哪些技术瓶颈
运维·服务器·安全·智能手机·生活
Jinkxs12 分钟前
Java 架构 02:DDD 领域模型设计实战(限界上下文划分)
java·开发语言·架构
百锦再16 分钟前
国产数据库的平替亮点——关系型数据库架构适配
android·java·前端·数据库·sql·算法·数据库架构
IT199518 分钟前
C++使用“长度前缀法”解决TCP“粘包 / 拆包”问题
服务器·网络·c++·tcp/ip
德迅云安全—珍珍20 分钟前
物理服务器、云服务器、裸金属服务器的区别
运维·服务器
爱笑的眼睛1124 分钟前
文本分类的范式演进:从统计概率到语言模型提示工程
java·人工智能·python·ai
好记忆不如烂笔头abc35 分钟前
超微服务器的ipmi调整风扇运行模式
运维·服务器
周杰伦_Jay37 分钟前
【Go/Python/Java】基础语法+核心特性对比
java·python·golang
sszdlbw39 分钟前
后端springboot框架入门学习--第一篇
java·spring boot·学习
一个响当当的名号41 分钟前
ASP.NET 期末突击
运维·服务器