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

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

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

相关推荐
人月神话-Lee1 天前
两个改动,让这个iOS OCR SDK识别成功率翻了一倍
ios·ocr·ai编程·身份证识别·银行卡识别
weixin_408099672 天前
身份证OCR识别如何做到99.9%准确率?揭秘石榴智能六大核心技术(矫正/完整度/翻拍检测/头像提取)
图像处理·人工智能·ocr·api接口·身份证识别·石榴智能
小小测试开发2 天前
EasyOCR用法全攻略:Python开源OCR工具快速上手,图文识别零门槛
python·开源·ocr
weixin_408099672 天前
身份证OCR API怎么选?对比4款主流产品后,我选择了石榴智能(含Python/Java调用示例)
人工智能·ocr·文字识别·api接口·身份证ocr·石榴智能·ocr api
weixin_408099673 天前
身份证OCR识别中的“隐形防线”:复印件/翻拍检测如何拦截99%的虚假注册?(附多语言代码)
人工智能·ocr·图像识别·api接口·实名认证·身份证ocr·石榴智能
易连EDI—EasyLink7 天前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
泉飒7 天前
某特定场景下的ocr增强方式
ocr
小陈phd7 天前
多模态大模型学习笔记(三十八)——传统OCR技术机制:从DBNet到CRNN:吃透传统OCR两阶段范式的底层逻辑
笔记·学习·ocr
石榴树下的七彩鱼7 天前
OCR API价格对比2026:身份证/发票/医疗票据识别哪家性价比最高?含Python对接+成本公式
开发语言·人工智能·python·ocr·图像识别·文字识别·api接口
sali-tec7 天前
C# 基于OpenCv的视觉工作流-章56-OCR
图像处理·人工智能·opencv·算法·计算机视觉·ocr