图像识别OCR(Tess4J)

🍓 简介:java系列技术分享(👉持续更新中...🔥)

🍓 初衷:一起学习、一起进步、坚持不懈

🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏

🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击

文章目录

  • 一、OCR图文识别简介
  • 二、Tess4J示例代码
    • [2.1 引入依赖](#2.1 引入依赖)
    • [2.2 导入中文字体库](#2.2 导入中文字体库)
    • [2.3 准备一张带文字的图片](#2.3 准备一张带文字的图片)
    • [2.4 代码编写](#2.4 代码编写)
    • [2.5 结论](#2.5 结论)

一、OCR图文识别简介

Tess4J官网:Tess4J官网:https://tess4j.sourceforge.net/usage.html

  • OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程
技术 说明明
百度OCR 收米
Tesseract-OCR Google维护的开源OCR引擎,支持Java,Python等语言调用
Tess4J 封装了Tesseract-OCR ,支持Java调用。(使用Tess4J需要不同的词库文件进行支撑)

二、Tess4J示例代码

2.1 引入依赖

xml 复制代码
		<!-- 图片识别文字-->
        <dependency>
            <groupId>net.sourceforge.tess4j</groupId>
            <artifactId>tess4j</artifactId>
            <version>5.9.0</version>
        </dependency>

2.2 导入中文字体库

将tessdata放到一个没有中文、特殊字符、空格的目录下

我下载的是简体中文
语言库下载:
https://github.com/tesseract-ocr/tessdata

2.3 准备一张带文字的图片

2.4 代码编写

我的语音库位置

测试代码

java 复制代码
public class OcrTest {

    public static void main(String[] args) throws TesseractException {
        try {
            Tesseract tesseract = new Tesseract();
            // 语言库位置(修改为跟自己语言库文件夹的路径)
            tesseract.setDatapath("D:\\develop\\workspace\\test-demo\\consumer-service\\src\\main\\resources\\tessdata");
            //chi_sim :简体中文, 根据需求选择语言库
            tesseract.setLanguage("chi_sim");
            // 识别图片的路径(修改为自己的图片路径)
            File file = new File("D:\\程序员.png");
            String result = tesseract.doOCR(file);
            // 替换回车和tal键 ,让结果在一行显示
            result = result.replaceAll("\\r|\\n", "").replaceAll(" ", "");
            System.out.println("识别的结果为:" + result);
        } catch (TesseractException e) {
            e.printStackTrace();
        }

    }
}

控制台打印结果

2.5 结论

经过多次换图测试,发现可以看到还是有很多不准确的地方.识别还是不太又好。

如果项目对精确度要求较高,还是研究付费的吧。

相关推荐
医疗信息化王工2 天前
从零到一:基于 GGUF 格式部署 Unlimited-OCR 搭建企业级证件识别服务
图像处理·c#·ocr
Lyn_Li3 天前
扫描 PDF 歪了怎么办?用 6 种检测方法做本地批量扶正(附开源工具)
python·pdf·ocr·tesseract·开源工具·文档处理·本地处理·扫描件纠偏
余俊晖3 天前
多模态文档解析开源新进展:Unlimited OCR技术方案
人工智能·ocr·多模态
黑黑的独立开发笔记3 天前
「 简记往来」用户反馈驱动的产品迭代:简记往来的6次关键更新与一次“不做”的决策
ocr·用户运营·迭代加深·用户体验·产品决策·简记往来
weixin_408099674 天前
OCR批量识别图片方案:从手动处理到自动化API系统(Python/Java/PHP实战)
图像处理·python·ocr·文字识别·api调用·批量识别·石榴智能
stereohomology4 天前
测试unlimited ocr
ocr·colab
开开心心_Every4 天前
带OCR识别的电子发票打印工具
运维·自动化·ocr·电脑·powerpoint·音视频·lua
weixin_408099674 天前
OCR批量识别图片方案:从手动处理到自动化系统(附Python/Java/PHP API实战)
自动化·ocr·api调用·图片识别·ocr识别·石榴智能·ocr批量识别
ShiXZ2135 天前
PDF-OCR文件识别篇(八):配置、运维与排错
java·运维·ocr·dubbo·springboot
ShiXZ2135 天前
PDF-OCR文件识别篇(七):数据入库
java·pdf·json·ocr·springboot