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


相关推荐

  • 操作系统存储管理之虚拟存储与分页式虚拟存储系统

    操作系统存储管理之虚拟存储与分页式虚拟存储系统虚拟存储实现思路在实际运行过程,把有关作业的全部信息都装入主存储器后,作业执行时实际上不是同时使用全部信息的,有些部分运行一遍便再也不用,甚至有些部分在作业执行的整个过程中都不会被使用到(如错误处理部分)。进程在运行时不用的,或暂时不用的,或某种条件下才用的程序和数据,全部驻留于内存中是对宝贵的主存资源的一种浪费,大大降低了主存利用率。于是,提出了这样的问题:作业提交时,先全部进入辅助存储器,作

    2022年9月26日
    6
  • 概率论知识点总结

    概率论知识点总结概率论与数理统计知识点总结 持续更新 文章目录概率论与数理统计知识点总结 持续更新 第一章 概率论的基本概念第二章 随机变量及其分布第一章 概率论的基本概念 1 样本空间 对于随机试验来说 由于可以事先明确试验所有可能的结果 因此称随机试验所有可能结果的集合为随机试验的样本空间 记为 Omega 称随机试验中一个可能结果为一个样本点 记为 omega 从而样本空间就是样本点的集合 即 Omega omega 2 随机事件 一般的 称随机试验的样本空间 Ome

    2025年12月1日
    3
  • Oracle获取字符串的最后几位

    Oracle获取字符串的最后几位substr(字符串,-10)Oracle字符串函数substr(字符串,截取开始位置,截取长度)1.如果最后一个截取长度参数为空,则表示从截取开始位置起截到最末2.如果截取开始位置为大于0的数字,则表示从字符串左数几位开始3.如果截取开始位置为小于0的数字,则表示从字符串右数几位开始……

    2025年7月11日
    3
  • python 命名规范

    python 命名规范python变量命名规则:变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greetingmessage会引发错误。 不要将Python关键字和函数名用作变量名,即不要…

    2022年6月25日
    34
  • 海康ehome协议分析(2):预览请求

    海康ehome协议分析(2):预览请求实时点播 1 信令开始点播 Platfrom gt gt Device Device gt gt Platform 停止点播 Platfrom gt gt Device Device gt gt Platfrom 2 视频流技术交流 1 信令开始点播 Platfrom gt gt Device xmlversion 1 0 encoding GB2312 PPVSPMessage Version 2 5 Version PPVSPMessage

    2025年7月18日
    6
  • 官网下载mysql连接驱动jar包教程「建议收藏」

    官网下载mysql连接驱动jar包教程「建议收藏」1.网址上输入mysql.com后回车2.点击如图所示3.滑下来找到如图所示并点击4.进来后,点击如图所示5.选择不同版本5.1下载最新版本的,如图按步骤点击5.2下载其他版本点击这个6.点击后下载第二个7.点击后,点击如下,几秒后即可完成下载,(有时候第6步就直接下载了,就不需要这步了)8.下载完后解压,找到如下文件,这就是ja…

    2022年5月11日
    42

发表回复

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

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