Java OCR(使用Tess4J)

jopen 9年前

 最近突然对手机上的OCR功能比较感兴趣,于是乎研究了一下Java OCR技术,在Google上找到了tesseract-ocr,最后找到了其对应的Java API版本 Tess4J,中间调试过程异常曲折,最后花了半天时间终于把它给调试成功了,跟大家分享一下!

一 下载相关的jar包

1.下载Tess4J jar,网址:http://sourceforge.net/projects/tess4j/

2. 如果你使用的JVM 64位的,还需要下载 liblept168.dll、libtesseract302.dll的64位文件,下载地 址:https://github.com/charlesw/tesseract/tree/master/src/lib/TesseractOcr /x64


二 项目整合

先看看最后整合成功的目录结构,开发环境:Win8.1 64位 + Eclipse 4.2 + JDK 7 64位,工程目录结构如下:

Java OCR(使用Tess4J)


       src目录下是 Tess4J的源码目录,test目录 是Tess4J官方提供的demo目录,并将 liblept168.dll、libtesseract302.dll,gsdll64.dll(pdf 转换需要用到此文件) 三个文件拷贝到 src根目录下。


三 测试代码

    /**            * Test of doOCR method, of class Tesseract1.            */            @Test            public void testDoOCR_File() throws Exception {                System.out.println("doOCR on a PNG image");                File imageFile = new File("eurotext.png");                String expResult = "The (quick) [brown] {fox} jumps!\nOver the $43,456.78 <lazy> #90 dog";                String result = instance.doOCR(imageFile);                System.out.println(result);                assertEquals(expResult, result.substring(0, expResult.length()));            }  

原文地址: http://blog.csdn.net/top_code/article/details/39667299