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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10怎么安装python3.8_win10怎么安装python

    win10怎么安装python3.8_win10怎么安装python更新提醒:本文已过期,PyTorch0.4.0已经有官方的Windows支持,Windows下安装最新的PyTorch0.4.0请移步本人另一篇博客:Windows下安装PyTorch0.4.0。2017年1月18日,周董生日这一天,facebook下的torch7团队宣布Pytorch开源,官网地址:pytorch。pytorch是一个python优先的深度学习框架,是一个和tensorfl…

    2022年10月6日
    0
  • 语音信号处理分类

    语音信号处理分类人与人之间的通信:语音压缩与编码压缩语音信号的传输带宽或者降低电话信道的传输码率解释:比特率=位深X采样率X信道个数,比特率越高,还原度越高,速度越慢。所以降低编码比特率,可以节省频率资源。第一类人与机器之间的通信:语音合成机器讲话,人接听文语转换(TTS)系统,主要关注可理解度,自然度,可懂度,逼真度(情感语音合成)第二类人与机器之间的通信:语音识别人讲话,机器接…

    2022年5月26日
    39
  • 打造个性化的合乎Linux爱好者需求的Redflag Linux 之一[通俗易懂]

    打造个性化的合乎Linux爱好者需求的Redflag Linux 之一[通俗易懂]前言:   红旗RedflagLinuxDeskTop5.0正式版发行距离现在已经有好几个月了吧(官方的发行说明是3月3日的),对于国产的系统当然是叫骂/声讨的多于赞美的了.中肯一点的说:红旗一直在进步的。当然,做的还不够,为什么说红旗烂?当然也是有原因的,个人理解,原因之一就是:缺少了N多LINUX爱好者所需求的基本软件。以下我就是记录我使用改装红旗LINUX的点滴过程来描述作为一个l

    2022年8月20日
    3
  • 在事务中执行批量复制操作SqlBulkCopy,SqlTransaction「建议收藏」

    在事务中执行批量复制操作SqlBulkCopy,SqlTransaction「建议收藏」    MicrosoftSQLServer包含名为bcp的常用命令行应用程序,用于快速将大文件批量复制到SQLServer数据库的表或视图中。使用SqlBulkCopy类可以编写提供类似功能的托管代码解决方案。还可以通过其他方式将数据加载到SQLServer表中(例如INSERT语句),但是SqlBulkCopy提供的性能要明显优于这些方式。   

    2022年5月8日
    151
  • c语言入门教程–-18指针

    c语言入门教程–-18指针

    2021年3月12日
    216
  • hive数据类型转换cast_c语言数据类型的转换

    hive数据类型转换cast_c语言数据类型的转换在《Hive内置数据类型》文章中,我们提到了Hive内置数据类型由基本数据类型和复杂数据类型组成。今天的话题是Hive数据类型之间的转换。同Java语言一样,Hive也包括隐式转换(implicitconversions)和显式转换(explicitlyconversions)。  Hive在需要的时候将会对numeric类型的数据进行隐式转换。比如我们对两个不同数据类型的数字进行比较

    2022年9月21日
    0

发表回复

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

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