OCR图像识别技术的JAVA实现(二)之Tess4J的使用
来源:互联网 发布:纽约跑跑美国代购 知乎 编辑:程序博客网 时间:2024/05/23 15:36
上一篇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. 项目结构:
- 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源码
- OCR图像识别技术的JAVA实现(二)之Tess4J的使用
- OCR图像识别技术的JAVA实现(一)
- Java OCR tess4j 图片识别技术(三)
- tess4j正确的使用 OCR
- Java OCR文字识别(Tess4J)
- Java OCR(使用Tess4J)
- Java OCR tesseract 图像智能字符识别技术 Java代码实现(二)
- Tess4j的使用(识别中文)
- linux系统如何使用tess4j(java)进行ocr图片文字识别
- Java OCR tesseract 图像智能字符识别技术(一)
- Java OCR 图像智能字符识别技术
- 图像识别,ocr 技术,有兴趣的可以了解一下
- 关于Tesseract OCR 中文训练识别小试(java调用Tess4j)
- Java OCR tesseract 图片识别技术(二)
- tess4j做图像识别
- java OCR 图像识别
- Java OCR 图像智能字符识别技术,可识别中文
- Java OCR 图像智能字符识别技术,可识别中文
- [dialog system] 阅读笔记
- (十)java锁机制深度化
- 9---------栈和队列的应用
- C++11之多线程初探
- 利用myeclipse自带的功能实现webservice
- OCR图像识别技术的JAVA实现(二)之Tess4J的使用
- Android开发
- android getApplicationContext()强制转换为自定义的application时崩溃的原因
- 现在!立刻!马上!
- AOP简介
- Android外接midi设备的录音
- 修改VirtualBox虚拟机默认存储路径及虚拟机迁移方法
- out与ref
- [ZJOI2005]沼泽鳄鱼 矩乘dp