【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 小时前
C++可以写手机应用吗
开发语言·c++·智能手机
测试员周周2 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16253 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
想学习java初学者3 小时前
SpringBoot整合Vertx-Mqtt多租户(优化版)
java·spring boot·后端
tanis_20773 小时前
扫描版中文 PDF 怎么提取文字:用 MinerU 做 OCR + 结构化一体处理
人工智能·pdf·ocr
AC赳赳老秦4 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
赏金术士4 小时前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
weixin_449173654 小时前
在 Java 中,‌线程安全的 List‌ 主要有以下几种实现方式,它们的效率取决于具体的使用场景(尤其是读写比例):
java·线程安全的list
砚底藏山河4 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven
MegaDataFlowers5 小时前
运行若依项目
java