Java使用Tess4J 实现简单的图像识别(Maven版)

一、前言

最近有个朋友需要用Java做一个图像识别的东西,因此帮忙参考了网上资料写了一个基于Tess4J简单版的图像识别demo,供参考。

二、简单实例

1、首先创建一个新的maven项目(创建教程在此省略,自行百度),将所需jar包引入pom.xml


        
            net.sourceforge.tess4j
            tess4j
            4.4.0
        
 

2、在任意地方创建一个文件夹tessdata,将下载的chi_sim.traineddata 和 eng.traineddata语言包存放在该目录下,也可以直接存放到自己项目的resources/tessdata目录下。

语言库下载地址:https://github.com/tesseract-ocr/tessdata

Java使用Tess4J 实现简单的图像识别(Maven版)_第1张图片
语言库地址

3、编写代码

         // 识别图片的路径(修改为自己的图片路径)
        String path = "D:\\test.jpg";

        // 语言库位置(修改为跟自己语言库文件夹的路径)
        String lagnguagePath = "D:\\tessdata";

        File file = new File(path);
        ITesseract instance = new Tesseract();

        //设置训练库的位置
        instance.setDatapath(lagnguagePath);

        //chi_sim :简体中文, eng    根据需求选择语言库
        instance.setLanguage("eng");
        String result = null;
        try {
            long startTime = System.currentTimeMillis();
            result =  instance.doOCR(file);
            long endTime = System.currentTimeMillis();
            System.out.println("Time is:" + (endTime - startTime) + " 毫秒");
        } catch (TesseractException e) {
            e.printStackTrace();
        }

        System.out.println("result: ");
        System.out.println(result);

4、测试

本文以一张简单的图片为例:图片放置在D:\test.png根目录下,因此使用代码测试前需要修改代码中指定的两个路径!!!

识别图片:
测试
运行代码后:
Java使用Tess4J 实现简单的图像识别(Maven版)_第2张图片
识别后

5、可选步骤:配置环境变量(TESSDATA_PREFIX)

环境变量地址指向你存放语言包的文件夹路径,如:我的语言包路径在 D:\tessdata


Java使用Tess4J 实现简单的图像识别(Maven版)_第3张图片
环境变量

本文代码参考自:https://blog.csdn.net/zai_xia/article/details/80003778

往期系列文章:
Spring Security系列教程
ELK日志采集整合教程

你可能感兴趣的:(Java使用Tess4J 实现简单的图像识别(Maven版))