图像识别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 结论

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

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

相关推荐
weixin_408099671 天前
2026 扑克牌识别 API 实战:识别牌值、花色、大小王(附 Python/Java/PHP 接入示例)
python·ocr·图像识别·api接口·接口开发·扑克牌识别·石榴智能
开开心心就好1 天前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
王莎莎-MinerU1 天前
别让 Agent 重读 PDF:文档解析要交付可缓存资产
网络·数据库·人工智能·驱动开发·缓存·pdf·ocr
开开心心就好1 天前
电脑内存优化工具一键释放内存超简单
java·开发语言·macos·arcgis·ocr·excel·音视频
m0_726365832 天前
# Chrome纸牌游戏预测工具开发实战:Canvas图表识别、OCR与实时状态监控
chrome·python·游戏·贪心算法·ocr·线性回归·哈希算法
六月的翅膀2 天前
OCR:RapidOCR C++/C#
c++·ocr
molihuan2 天前
最新 Paddle-Lite Android平台编译
android·ocr·paddle·推理·端侧·paddle lite
蓝创工坊Blue Foundry3 天前
发票、凭证和对账单怎么整理成 Excel?先定义字段,再逐项复核
pdf·ocr·excel·文心一言·paddlepaddle
求真学习3 天前
字节跳动Dolphin-v2:数字 PDF 拆开读、拍照文档整页读,自建拍照文档集平均编辑距离较原始 Dolphin降低约 91%
pdf·ocr·pdf解析·字节跳动·文档解析·dolphin-v2
CodexDave3 天前
Python 自动化接单实战(四):PDF 批量提取先识别文本层还是扫描件
python·pdf·自动化·ocr·python自动化·文档处理·pdf提取