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


相关推荐

  • 《MySQL必懂系列》全局锁、表级锁、行锁

    《MySQL必懂系列》全局锁、表级锁、行锁

    2022年2月17日
    42
  • 滑动窗口 leetcode_滑动窗口leetcode

    滑动窗口 leetcode_滑动窗口leetcode原题链接给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值————— —–[1 3 -1] -3 5 3 6 7

    2022年8月8日
    2
  • socket技术详解(看清socket编程)

    socket技术详解(看清socket编程)socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做个总结性的文章1:socket大致介绍   socket编程是一门技术,它主要是在网络通信中经常用到   既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现…

    2022年7月13日
    13
  • 77道Spring面试题以及参考答案(2021年最新版)

    77道Spring面试题以及参考答案(2021年最新版)一、Spring概述1.什么是spring?Spring是一个轻量级Java开发框架,最早有RodJohnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEEfull-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring可以做很多事情,它为企

    2022年5月7日
    104
  • Redis 5.0简单安装

    Redis 5.0简单安装

    2020年11月19日
    237
  • html手机端下拉菜单代码,jQuery手机移动端下拉列表选择代码「建议收藏」

    js代码$(function(){$(‘.retriedta’).click(function(){var$t=$(this);if($t.hasClass(‘up’)){$(“.retriedta”).removeClass(‘up’);$(‘.downlist’).hide();$(‘.mask’).hide();}else{$(“.retriedta”).removeClass…

    2022年4月15日
    161

发表回复

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

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