Java实现CR-图片文字识别功能(超简单)

发布时间:2024年01月10日

一.什么是OCR

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程

方案说明
百度OCR收费
Tesseract-OCRGoogle维护的开源OCR引擎,支持Java,Python等语言调用
Tess4J封装了Tesseract-OCR ,支持Java调用

二.Tesseract-OCR 的特点

三.使用案例

1.导入相关的依赖

XML

1
2
3
4
5
<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>4.1.1</version>
</dependency>

2.导入中文字体库

地址:?tessdata.zip - 蓝奏云文件大小:1.6 M|icon-default.png?t=N7T8https://wwvc.lanzouj.com/iuPhc1h7j46f

3.编写测试类进行测试

待识别的图片

测试程序

JAVA

package com.atguigu.gulimall.search.utils;

import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

import java.io.File;

/**
 * @author Jason Gong
 * @version 1.0
 * @Date 2023/12/8
 * @Description
 */
public class Main {

    /**
     * 识别图片中的文字
     *
     * @param args
     */
    public static void main(String[] args) throws TesseractException {
        //创建实例
        Tesseract tesseract = new Tesseract();
        //设置字体库的路径
        tesseract.setDatapath("C:\\Users\\c2405\\Desktop\\tessdata");
        //设置语言
        //字体库为chi_sim.traineddata,语言取.前面的内容,即文件名
        //简体中文
        tesseract.setLanguage("chi_sim");
        //识别图片
        String ocr = tesseract.doOCR(new File("C:\\Users\\c2405\\Desktop\\apic21002.jpg"));
        //打印识别的结果
        //打印的时候可以去除回车和tab空格
        //System.out.println(ocr.replaceAll("\\n|\\r","-"));
        System.out.println(ocr);
    }
}

识别的结果

文章来源:https://blog.csdn.net/qq_68497898/article/details/135513804
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。