跳至主要內容

Tess4j光学识别

TenSoFlow...大约 2 分钟项目技术光学识别

Tess4j光学识别

简介

先了解下概念,ORC即光学字符识别,简单讲就是对图片文件中的文字进行分析识别,获取的过程。在很多生活场景中都用到,如车牌的扫描识别、身份证扫描识别、图片文本内容识别等。Tesseract-OCR支持中文识别,由惠普实验室研发,并且开源和提供全套的训练工具,是快速低成本开发的首选。而Tess4J则是Tesseract在Java PC上的应用。在英文和数字识别中性能还是不错的,但是在中文识别中,无论速度还是识别率还是较弱,建议有条件的话,针对场景进行训练,会获得较好结果。

数据集下载地址

数据集下载地址open in new window

下载名字为以下二个的文件

chi_sim.traineddata

eng.traineddata

chi_sim表示中文数据集 训练之后能识别中文

eng表示英语数据集 训练之后能识别英文字母以及数字

所需依赖

<dependency>
	<groupId>net.sourceforge.tess4j</groupId>
	<artifactId>tess4j</artifactId>
	<version>4.5.4</version>
</dependency>

使用方法

package com.ctg.MyAllClass.LittleTools;

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import java.io.File;
import java.util.Objects;
/**
 * 1. @ClassDescription:对图片进行自动识别内容
 * 2. @author: TenSoFlow
 * 3. @date: 2023年10月12日 16:33
 */
public class Tess4j {
    public static void main(String[] args) throws TesseractException {
        // 得到对象
        ITesseract instance = new Tesseract();
        // 设置下载的数据集存放路径
        instance.setDatapath("D:\\Desktop\\tessdata");
        // 设置训练的语言 就是数据集的前缀
        instance.setLanguage("eng");
        // 设置存放图片的路径 最好不要存放不是图片的文件
        File imageLocation = new File("D:\\Desktop\\image");
        for(File image : Objects.requireNonNull(imageLocation.listFiles())) {
            // 循环打印出每张图片识别出来的内容
            System.out.println(image.getName() + "--->" + instance.doOCR(image));
        }
    }
}
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8