Java基于Tess4J的OCR识别笔记

Java基于Tess4J的OCR识别笔记,第1张

一、创建项目
1.从百度网盘下载Tess4J-3.4.8-src.zip到桌面,并解压到当前文件夹
2.IDEA==左上文件==新建==项目==左侧新建项目==输入OCR==构建系统选择IDEA==点击创建
3.将解压出来的Tess4J文件夹里的==lib+src+tessdata复制到OCR项目里
4.将解压出来的Tess4J文件夹里的==chi_sim.traineddata,放入tessdata文件夹下
5.将Tess4J文件夹里的==dist文件夹下的==tess4j-3.4.8.jar==复制到OCR项目里的lib文件夹下
6.IDEA==选中lib文件夹==右键添加为库==点击确定
7.对着src==右键新建==软件包==com.tys.test
8.对着com.tys.test==右键新建==Java类==TestOCR
二、识别单张图片
1. D盘下创建文件夹,名字叫OCRTest
2. 文件夹下,放入Tess4J文件夹里的测试图片,01-验证码,02-英文,03-中文
3. 图片格式在线转换网址 https://www.gaitubao.com/jpg-gif-png
=========================================================================================
//TestOCR.java  替换以下代码

package com.tys.test;

import net.sourceforge.tess4j.*;
import java.io.*;

public class TestOCR {
    public static void main(String[] args) {
        try {
            //指定图片位置
            File imageFile = new File("D:\OCRTest\03.png");
            ITesseract instance = new Tesseract();
            //指定IDEA左侧,tessdata文件夹的绝对路径
            instance.setDatapath("C:\Users\Administrator\IdeaProjects\OCR\tessdata");
            instance.setLanguage("chi_sim");//chi_sim 识别中文  eng 识别英文 osd 识别验证码
            String result = instance.doOCR(imageFile);//开始识别
            System.out.print(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
三、遍历图片
//1.在IDEA项目路径,OCR项目下,创建imgs文件夹,放入图片
//2.TestOCR.java  替换以下代码
========================================================================================
package com.tys.test;

import net.sourceforge.tess4j.*;
import java.io.*;

public class TestOCR {
    public static void main(String[] args) {
        //user.dir是idea项目的根目录,imgs文件夹名字
        File root = new File(System.getProperty("user.dir") + "/imgs");
        ITesseract instance = new Tesseract();
        //chi_sim 识别中文  eng 识别英文 osd 识别验证码
        //指定文件夹下,批量图片识别中文,英文,验证码
        instance.setLanguage("chi_sim");
        try {
            File[] files = root.listFiles();
            for (File file : files) {
                String result = instance.doOCR(file);
                String fileName = file.toString().substring(file.toString().lastIndexOf("\")+1);
                String str="图片名:" + fileName +" 识别结果:"+result;
                System.out.print(str);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/793856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存