OCR图像识别技术的JAVA实现(二)之Tess4J的使用

原创 2017年12月20日 18:36:43

上一篇blog介绍了JAVA使用OCR图像识别技术中TESSERACT-OCR。其本质就是用我们的Java使用cmd命令来调用TESSERACT-OCR的客户端,这里就必须在电脑上安装TESSERACT-OCR,但在实际使用上,感觉很不方便,接下来介绍的Tess4J就主要是针对Java封装的API,就不再需要安装TESSERACT-OCR。

一. 下载Tess4J相关Jar包和源码

http://download.csdn.net/download/weistin/10166503
目前最新版本为Tess4J-3.4.2-src。
下载完成后,解压:
这里写图片描述
二. Tess4j的使用
1. 新建一个JAVA 项目,项目中新建lib文件夹,tessdata文件夹(用于存放OCR语言库文件,默认只有英文包,其他语言包或训练包需要自行下载)。
2. 将上图中的lib文件夹的文件全部拷入到刚刚新建项目的lib文件夹里。
3. 将Tess4J-3.4.2-src/Tess4J/dist下的tess4j-3.4.2.jar放入lib文件夹下。
这里写图片描述
4. 将添加进的jar加入到项目的build path中。jar包结果如下:
这里写图片描述
5. 项目结构:
这里写图片描述

  1. tess4J的使用
    tess4J代码很简单,核心代码短短数句:
package com.liping.test;

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

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

/**
 * Tess4J测试类
 *
 * @author Felix Li
 * @create 2017-12-20-11:38
 */
public class Tess4JTest {

    public static void main(String[] args){

        File file = new File("C://Program Files (x86)//Tesseract-OCR//shouye.png");
        ITesseract instance = new Tesseract();

        /**
         *  获取项目根路径,例如: D:\IDEAWorkSpace\tess4J
         */
        File directory = new File("");// 参数为空
        String courseFile = null;
        try {
            courseFile = directory.getCanonicalPath();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //Set the tessdata path
        instance.setDatapath(courseFile + "\\tessdata");

        instance.setLanguage("chi_sim");//chi_sim :简体中文, eng
        String result = null;
        try {
            long startTime = System.currentTimeMillis();
             result =  instance.doOCR(file);
            long endTime = System.currentTimeMillis();
            System.out.println("Time is:" + (endTime - startTime) + " 毫秒");
        } catch (TesseractException e) {
            e.printStackTrace();
        }
        System.out.println("result: " + result);
    }

}

三. 异常处理
1. Exception in thread “main” java.lang.UnsatisfiedLinkError: 找不到指定模块
这个异常是 JNI load本地.dll文件时未找到而抛出的异常,
处理方法:将gsdll64.dll和libtesseract3051.dll拷贝到 C:/WINDOWS/system32/下
demo源码

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux系统如何使用tess4j(java)进行ocr图片文字识别

根据上面的实验、分析,结合配置过程中的错误提示,最终总结出了Linux下支持tess4j的完整步骤(具体不同的系统操作上会有差别,但是原理一致): 1、安装GCC开发环境,从而支持后续程序的编译安装...
  • zhongshanb
  • zhongshanb
  • 2017年05月25日 17:20
  • 1998

Java OCR tess4j 图片识别技术(三)

先贴代码段tess4j整个的代码调用到时是蛮简单的。1.先去官网下载:http://tess4j.sourceforge.net/我的是Tess4J-3.4.0版,目录如下: 2.新建项目,将lib...
  • cyn_653620
  • cyn_653620
  • 2017年06月15日 17:44
  • 1592

Java OCR 图像智能字符识别技术,可识别中文

几天一直在研究OCR技术,据我了解的情况,国内最专业的OCR软件只有2家,清华TH-OCR和汉王OCR,看了很多的OCR技术发现好多对英文与数字的支持都很好,可惜很多都不支持中文字符。Asprise-...
  • ranmudaofa
  • ranmudaofa
  • 2014年03月17日 14:07
  • 6290

ocr tess4j java demo识别图片技术

  • 2016年02月19日 09:22
  • 22.89MB
  • 下载

Java OCR文字识别(Tess4J)

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译...
  • followwwind
  • followwwind
  • 2017年10月17日 10:11
  • 427

Java Tess4J 实现OCR 可运行Demo

  • 2017年11月24日 15:14
  • 21.21MB
  • 下载

android ocr 图像识别之tess-two试用

把tess-two添加到项目里,在app 的build.gradle里添加下面dependencies { compile 'com.rmtheis:tess-two:7.0.0' }然后从h...
  • aikongmeng
  • aikongmeng
  • 2017年06月16日 10:58
  • 693

OCR图像识别技术的JAVA实现(一)

ORC图像识别技术的JAVA实现目前网络上的开源的图像识别技术有很多,例如 OCRE(OCR Easy)、Clara OCR、OCRAD、TESSERACT-OCR 等等,今天本blog将记录下tes...
  • weistin
  • weistin
  • 2017年12月19日 10:54
  • 225

Java使用Tess4J 进行图片文字识别

Java使用Tess4J 进行图片文字识别 笔记 博客分类: J2SE   最近的工作中需要使用到从图片中识别文字的操作,就在网上找到到Tess4j.那么,现在来总结一...
  • qq_31863683
  • qq_31863683
  • 2016年07月09日 00:19
  • 6606

JAVA使用Tess4j识别图片内容

Tess4J使用小心得
  • u013229534
  • u013229534
  • 2017年05月29日 11:43
  • 1549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OCR图像识别技术的JAVA实现(二)之Tess4J的使用
举报原因:
原因补充:

(最多只允许输入30个字)