JAVA使用Tess4J进行ocr识别,并切换中文

JAVA使用Tess4J进行ocr识别,并切换中文JAVA使用Tess4J进行ocr识别,并切换中文

大家好,又见面了,我是你们的朋友全栈君。

一、电脑中安装 tesseract ;可以参考另一篇文章:

Mac上安装 tesseract_MR.骑士道-CSDN博客_mac tesseract

二、下载 tess4j

Download Tess4J from SourceForge.net

三、创建一个普通的maven项目

创建项目如果不会的话,可以看我的另一篇springboot 项目创建:mac idea 创建 springboot 项目_MR.骑士道-CSDN博客

四、项目中倒入 tess4j/lib 下的所有jar包 和 tess4j/dist/tess4j-3.4.8.jar

JAVA使用Tess4J进行ocr识别,并切换中文

JAVA使用Tess4J进行ocr识别,并切换中文

JAVA使用Tess4J进行ocr识别,并切换中文

五、编写测试代码

package com.tess4jdemo;


import java.io.File;
import java.io.IOException;

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;



/**
 * @ClassName Test
 * @Description 测试类
 * @Author WangJing
 * @Date 2021/5/27 10:49 上午
 * @Version V1.1.0
 */
public class Test {

    public static void main(String[] args){
        long startTime = System.currentTimeMillis();

        String imgPath = "/Users/wangjing/Desktop/ocr/test.jpeg";//图片地址

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

        String tessData = "/Users/wangjing/Desktop/ocr/Tess4J";//tess4j 解压地址
        File directory = new File(tessData);
        String courseFile = null;
        try {
            courseFile = directory.getCanonicalPath();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //设置训练库的位置
        instance.setDatapath(courseFile + "//tessdata");

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

}

六、运行查看效果

6.1、原图片

JAVA使用Tess4J进行ocr识别,并切换中文

6.2、识别效果

JAVA使用Tess4J进行ocr识别,并切换中文

七、汉化

7.1、发现左上角仅有的几个汉字没有识别成功;接下来我们要下载汉化包:

https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_sim.traineddata

7.2、然后放到我们 Tess4j/tessdata 目录下;然后程序中语言改为中文:instance.setLanguage(“chi_sim”);  看下效果,非常完美

JAVA使用Tess4J进行ocr识别,并切换中文

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136422.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python画图之浪漫樱花

    Python画图之浪漫樱花importturtleasTimportrandomimporttime#画樱花的躯干(60,t)defTree(branch,t):time.sleep(0.0005)ifbranch>3:if8<=branch<=12:ifrandom.randint(0,2)…

    2022年6月10日
    30
  • SQL中GROUP BY语句介绍

    SQL中GROUP BY语句介绍本文主要介绍SQL(StructuredQueryLanguage)中GROUPBY语句的相关知识,同时通过用法示例介绍GROUPBY语句的常见用法。1概述GROUPBY语句通常用于配合聚合函数(如COUNT()、MAX()等),根据一个或多个列对结果集进行分组。从字面上来理解,GROUP表示分组、BY后接字段名,表示根据某个字段进行分组。一般情况下,GROUPBY必须要配合聚合函数一起使用,通过使用聚合函数,在分组之后可以对组内结果进行计数(COUNT)

    2022年5月26日
    37
  • CSDN 博客备份工具「建议收藏」

    CSDN 博客备份工具「建议收藏」前言核心登录模块备份模块博文扫描模块演示如何使用效果总结前言近段时间以来,听群友博友都在谈论着一件事:“CSDN博客怎么没有备份功能啊?”。这其实也在一定程度上表征着大家对于文章这种知识性产品的重视度越来越高,也对于数据的安全提高了重视。所以我就尝试着写了这么一个工具。专门用来备份CSDN博友的博客。核心说起来是核心,其实也就那么回事吧。严格来说也就是一对代码,不能称之为核心啦。

    2022年7月25日
    18
  • 对接第三方顺丰丰桥下单Api接口实战教程java[通俗易懂]

    对接第三方顺丰丰桥下单Api接口实战教程java[通俗易懂]对接第三方顺丰丰桥下单接口实战教程

    2022年9月14日
    2
  • Windows服务器补丁列表及介绍_操作系统打补丁我用WSUS[通俗易懂]

    你可曾遇到过使用Windows自带的UPDATE下载补丁速度非常慢,往往要等待3小时以上甚至更多呢?这还仅仅局限在关键更新上,要是把驱动和非关键更新也下载的话需要的时间会更长。如果公司只是在一个内网中员工计算机不容许上网的话你又是如何保证他们的补丁是最新的呢?恐怕使用默认的UPDATE都不能实现这些功能。  微软替我们想出了一个办法——使用WSUS。通过WSUS我们可以建立一个内部的UPDATE服…

    2022年4月15日
    554
  • Http请求工具

    Http请求工具

    2021年6月19日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号