`
zhoupinheng
  • 浏览: 36127 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java调用tesseract识别中文

    博客分类:
  • java
ocr 
阅读更多

环境:

java:jdk1.8

os:windows10

tesseract:4.1.0

 

step1:安装配置tesseract

a.下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.1.0.20190314.exe

可以在同目录下载最新的版本

b.双击下载后的文件开始安装

下载后将其安装到C:\Program Files\Tesseract-OCR,注意在安装过程中下载中文语言包

下载语言包

c.将C:\Program Files\Tesseract-OCR加到系统PATH变量中

d.新建一个值为C:\Program Files\Tesseract-OCR\tessdata的系统变量TESSDATA_PREFIX

e.打开一个命令窗口输入以下命令  >tesseract --list-langs

List of available languages (11):

chi_sim

...

出现上面chi_sim说明tesseract安装成功!

 

step2:java调用tesseract

编写如下测试类:TesseractUtil.java

package com.bry.tesseract;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class TesseractUtil {

  public static String identifyTextFromPicture(String tessPath, String sourceFileName, String savePath, String language) {

    ProcessBuilder pb = new ProcessBuilder();
    pb.directory(new File(tessPath));
    pb.environment().put("TESSDATA_PREFIX", tessPath + File.separatorChar + "tessdata");
    pb.redirectErrorStream(true);

    File sourceFile = new File(sourceFileName);
    List<String> cmd = new ArrayList<String>();
    String ocr_result_filename = sourceFile.getName().substring(0, sourceFile.getName().lastIndexOf("."));
    cmd.add(pb.directory().getAbsolutePath() + File.separatorChar + "tesseract");
    cmd.add(sourceFile.getAbsolutePath());
    cmd.add(savePath + File.separatorChar + ocr_result_filename);
    cmd.add("-l");
    cmd.add(language);

    pb.command(cmd);
    try {
      Process process = pb.start();
      if (process.waitFor() == 0) {
        return savePath + File.separatorChar + ocr_result_filename + ".txt";
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

    return null;
  }

  public static void main(String[] arags) {
    String resultFile = TesseractUtil.identifyTextFromPicture("C:/Program Files/Tesseract-OCR", "D:/temp/test.png", "d:/temp", "chi_sim");
    System.out.println(resultFile);
  }
}

 

   运行后在D:/temp/test.txt中看识别结果

 

 

 

  • 大小: 23 KB
分享到:
评论

相关推荐

    Java使用Tesseract4.0训练字库并且识别训练后的图片

    java文件使用:使用Tesseract方法可通过pom方式和jar包方式; 注意:使用前先查看“训练步骤”的那个文档,里面有详细说明,一定要查看;重要!!! 注意:使用前先查看“训练步骤”的那个文档,里面有详细说明,...

    tesseract-ocr实现图片识别功能(java)

    一个Google支持的开源的OCR图文识别开源项目。去持多语言(当前3.02 版本支持包括英文,简体中文,繁体中文),支持...可以参考网上的相关资料进行对Tesseract字符识别进行样本训练,通过使用训练后的语言库会提高识别精度。

    java实现Tesseract-OCR示例

    总结来说,这个Java实现Tesseract-OCR的示例展示了如何通过Tess4J库在Java项目中集成Tesseract OCR引擎,进行中文文字识别。通过这个过程,你可以了解到环境配置、库的使用、API调用以及如何优化识别效果等关键步骤...

    Java 调用tesseract-ocr 项目实例

    首先,让我们了解一下Java调用Tesseract-OCR的基本步骤: 1. **环境准备**:在进行Java项目之前,你需要确保在你的计算机上安装了Tesseract-OCR的可执行文件`tesseract.exe`。这个文件通常可以从Tesseract的官方...

    Java调用OCR进行图片识别

    使用Tesseract-OCR需要将图片文件转换为tif格式,然后使用Tesseract-OCR进行识别。 九、Java调用Tesseract-OCR的优点 Java调用Tesseract-OCR具有多种优点,包括高效、准确、灵活等。Tesseract-OCR可以识别多种语言...

    使用Java调用Ocr识别验证码

    本资源包提供了一种解决方案:使用Java调用OCR(Optical Character Recognition,光学字符识别)技术来识别验证码。这里主要涉及的知识点是Tesseract OCR引擎及其在Java环境中的应用。 Tesseract OCR是一个开源的...

    JAVA智能验证码识别,可训练识别率高

    在JAVA中使用Tesseract,开发者需要引入Tesseract的JAVA绑定库,例如tess4j,它可以提供一个简单的API来调用OCR引擎。 JavaCV则是一个JAVA的计算机视觉库,它集成了多个开源计算机视觉框架,如OpenCV。OpenCV提供了...

    Tesseract-OCR java版

    在使用Tesseract OCR Java版时,你需要首先了解以下几个关键概念: 1. **光学字符识别(OCR)**:OCR是一种技术,能够将扫描的文档、图片或屏幕截图中的文本转换为机器编辑的格式。Tesseract OCR是其中的一种工具,...

    图片上文字识别tesseract的java实例小dome

    在Java环境中,我们可以使用Tesseract的Java绑定库,如`tess4j`,来调用这个OCR引擎。 1. **安装Tesseract OCR**:在开始Java编程前,你需要先下载并安装Tesseract OCR。这里提到的是3.02.02版本,但通常建议使用...

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

    4. **使用Tesseract Java API**: 要调用Tesseract,你可以使用`tess4j`库,这是一个Java绑定的Tesseract API。在`src`目录下创建对应的Java类,导入必要的库,然后编写代码来初始化Tesseract对象,指定语言并执行OCR...

    Java调用OCR进行图片识别[归纳].pdf

    在 Java 中调用 OCR 进行图片识别需要使用到 Tesseract-OCR 库,Tesseract-OCR 是一个开源的 OCR 库,由 Google 开发和维护。Tesseract-OCR 支持多种语言的文字识别,包括中文、英文、法语、德语等。 要使用 Java ...

    tesseract识别中文的jar-jai_imageio-1.1-alpha.jar和swingx-1.0.jar

    本篇文章将重点探讨如何使用Tesseract识别中文,并结合`jai_imageio-1.1-alpha.jar`和`swingx-1.0.jar`这两个Java库来增强其功能。 首先,让我们了解Tesseract的基本工作原理。Tesseract采用了一种基于深度学习的...

    java+Tesseract-OCR实现网页定点截图并识别图片中电话写入txt文件中

    在Java项目中使用Tesseract,我们需要通过JTessBoxEditor或类似的工具预处理图片,创建训练数据以提高识别准确性。此外,还需要引入Tesseract的Java绑定库,如`tesseract-ocr-for-java`,这样我们就可以在Java代码中...

    基于tesseract的多线程OCR服务器的JAVA实现

    3. **Tesseract集成**:通过JNI(Java Native Interface)或Java的`ProcessBuilder`调用Tesseract命令行接口,处理图像并获取识别结果。可能还需要配置Tesseract的语言参数,以及预处理图像(如灰度化、二值化)以...

    java 图片文字识别 调用tesseract 3.02

    java ocr图片文字识别,使用谷歌 tesseract3.02 OCR引擎以及Leptonica库光学字符识别。使用Java包装程序tes4j和Java应用程序,内有英文库,如果需要其他tesseract3.02字体文件,可以访问...

    java调用office的MODI识别中文

    Java调用Office的MODI(Microsoft Office Document Imaging)识别中文是一项技术挑战,主要涉及Java、MODI组件、Jacob库以及OCR(Optical Character Recognition,光学字符识别)技术。以下是关于这些知识点的详细...

    基于Opencv与tesseract 实现的文本识别

    高度可定制:用户可以训练Tesseract来识别新的字体或优化特定语言的识别。 多种输出格式:Tesseract 可以输出普通文本、hOCR(带有布局信息的HTML)、PDF等格式。 集成易用:可以通过命令行使用,也可通过其API集成...

    tesseract 识别语言库文件

    总的来说,Tesseract的识别能力依赖于`tessdata`中的语言库文件,而Tess4J作为Java的接口,让开发者能够在各种应用场景下方便地调用Tesseract的功能。通过深入理解和灵活应用这些工具,我们可以构建高效、准确的文本...

    tesseract识别中文的com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam.rar

    3. **tesseract识别中文的jar-jai_imageio-1.1-alpha.jar**:Java Advanced Imaging Image I/O (JAI Image I/O) 是一个用于读写多种图像格式的Java库。在这个场景中,它可能用于帮助Tesseract处理和读取图像,特别是...

    Tesseract OCR多线程并发识别案例

    3. **Tesseract API**:Tesseract提供了一套API,可以用于程序化调用。在Python中,可以使用`pytesseract`库来封装这些API。通过API,我们可以设置识别参数,如语言、字典、配置文件等,并获取识别结果。 4. **并发...

Global site tag (gtag.js) - Google Analytics