【Java-TesseractOCR】通过Java实现OCR

通过Java实现OCR

一、TesseractOCR

本文使用的是TesseractOCR进行识别

二、引入pom

xml 复制代码
 <dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>5.8.0</version>
</dependency>

训练集下载地址

三、引入训练集

训练集下载地址

下载训练集 放入到 resources下的tessdata文件夹下

三、使用

java 复制代码
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import java.io.File;

/**
 * @author Mr.NaCl
 * @since 2024/2/5
 */
public class OCRServer {

    public static void main(String[] args) throws TesseractException {
        long start = System.currentTimeMillis();
        System.out.println("开始OCR文字识图,请稍后...");
        //加载要识别的图片
        File image = new File("14-OCR/src/main/resources/test.jpg");
        //设置配置文件夹位置、识别语言、识别模式
        Tesseract tesseract = new Tesseract();
        tesseract.setDatapath("14-OCR/src/main/resources/tessdata");
        //设置识别语言为中文简体,(如果要设置为英文可改为"eng")
        tesseract.setLanguage("chi_sim");
        //使用 OSD 进行自动页面分割以进行图像处理
        tesseract.setPageSegMode(1);
        //设置引擎模式是神经网络LSTM引擎
        tesseract.setOcrEngineMode(1);
        //开始识别整张图片中的文字
        String result = tesseract.doOCR(image);
        //如果只想识别图片中特定部分的文字,可以像下面这样选定长宽范围识别:
        //String result = tesseract.doOCR(image, new Rectangle(300, 200));
        long time = System.currentTimeMillis() - start;
        System.out.println("识别结束,耗时:" + time + " 毫秒,识别结果如下:");
        System.out.println(result);
    }
}
相关推荐
小小测试开发2 小时前
安装 Python 3.10+
开发语言·人工智能·python
AAA大运重卡何师傅(专跑国道)4 小时前
【无标题】
开发语言·c#
XBodhi.4 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
LSssT.5 小时前
【01】Python 机器学习
开发语言·python
心之伊始5 小时前
Java 后端接入大模型:从 Token、并发到推理成本的完整估算方法
java·spring boot·性能优化·大模型·llm
l1t5 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程39-40
开发语言·python
BlackTurn6 小时前
技术经理投标
java
曾阿伦6 小时前
Python 搭建简易HTTP服务
开发语言·python·http
YG亲测源码屋6 小时前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言
MIUMIUKK6 小时前
从语法层面,看懂 Python 的特殊处
java·开发语言·python