【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++
hello 早上好14 分钟前
07_JVM 双亲委派机制
开发语言·jvm
前端程序猿i33 分钟前
第 8 篇:Markdown 渲染引擎 —— 从流式解析到安全输出
开发语言·前端·javascript·vue.js·安全
Java小卷34 分钟前
KIE Drools 10.x 规则引擎快速入门
java·后端
kronos.荒34 分钟前
滑动窗口:寻找字符串中的字母异位词
开发语言·python
fengsen521131435 分钟前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
竟未曾年少轻狂37 分钟前
Spring Boot 项目集成 Redis
java·spring boot·redis·缓存·消息队列·wpf·redis集群
_codemonster1 小时前
java web修改了文件和新建了文件需要注意的问题
java·开发语言·前端
Java天梯之路1 小时前
Spring Boot 钩子全集实战(九):`@PostConstruct` 详解
java·spring boot·后端
松涛和鸣1 小时前
75、 IMX6ULL LM75温度传感器I2C驱动开发
java·linux·数据库·驱动开发·python