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