tesseract-ocr+java实现图片文字识别(代码片段)

luffy5459 luffy5459     2023-03-11     569

关键词:

    ocr是Optical Character Recognition的简写,就是光学字符识别技术。主要是对包含文本资料的图片进行识别,获取文本信息的技术。

    目前tesseract-ocr这个工具可以很方便的在Windows、Linux、Mac下安装。

    windows下的安装链接:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.0.1.20220118.exe

    这个工具安装之后,需要设置环境变量TESSDATA_PREFIX,这个变量是设置tesseract安装目录下tessdata的目录位置。 

    为了在命令行下使用tesseract可执行程序,最好把tesseract-ocr安装路径加入Path环境变量中。

    这样,我们在命令行下就可以使用tesseract命令了,如下是检验tesseract安装是否正确: 

 

    我们可以使用一个带字符的图片做验证:

    该图片就是hello.png,上面有“hello.tesseract”字样。

 

    命令行下,通过tesseract images\\hello.png hello,可以把images目录下的hello.png图片识别,提取的文字保存在hello.txt文件中。

 

/

    以上是通过tesseract-ocr工具直接提取图片中的字符,下面通过程序来提取,这里以java程序为例,加入net.sourceforge.tess4j依赖。

<dependency>
      <groupId>net.sourceforge.tess4j</groupId>
      <artifactId>tess4j</artifactId>
      <version>4.6.0</version>
</dependency>

    Java代码也是极其简单:

package ocr;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import java.io.File;
public class TestOCR 
    public static void main(String[] args) 
        Tesseract instance = new Tesseract();
        //instance.setDatapath("D:\\\\Program Files\\\\Tesseract-OCR\\\\tessdata");
        File imageFile = new File("D:\\\\yofc\\\\python\\\\images\\\\hello.png");
        try 
            String result = instance.doOCR(imageFile);
            System.out.println(result);
         catch (TesseractException e) 
            e.printStackTrace();
        
    

    运行程序,打印信息如下:

 

     这段代码,就是新建了一个Tesseract实例,然后就开始识别图片文件,仅仅四行代码就完成了识别和打印识别结果在内的功能。其实有的地方提到需要设置训练文件位置,如果我们前面的安装设置了TESSDATA_PREFIX,这里就不用设置了,本例就注释了这行代码:

instance.setDatapath("D:\\\\Program Files\\\\Tesseract-OCR\\\\tessdata");

    同样可以运行成功,因为在Tesseract实例化的时候,会读取系统变量TESSDATA_PREFIX的值,并进行设置:

public Tesseract() 
        try 
            this.datapath = System.getenv("TESSDATA_PREFIX");
         catch (Exception var5) 
         finally 
            if (this.datapath == null) 
                this.datapath = "./";
            

        

    

     至此,OCR示例就已经说完了,对于java开发而言,代码极其简单。有的地方,采用执行命令的方式,通过模拟命令行调用tesseract识别图片,其实没必要,那种代码如果移植,又需要设置linux环境下的安装路劲,非常麻烦。

快速实现图片文字识别的步骤

...小编就给大家介绍一个简单图片文字识别的步骤,以后再实现图片文字识别的时候,再也不用打字的方式实现了。使用工具:迅捷OCR文字识别工具;操作方法:快速实现图片文字识别的步骤进行图片文字识别,相信大家都知道,... 查看详情

tesseract-ocr-03-图片文字识别

Tesseract-OCR-03-图片文字识别本篇介绍使用Tesseract-OCR做图片文字识别,识别手写文字的时候,正确率能达到90%,当训练后正确率是极高的。这里介绍的图片文字识别,可以识别英文,数字和中文等Tesseract-OCR图片文字识别Tesseract:... 查看详情

pdf图片文字识别的实现方法

...个问题而困扰吧。那么,下面我就来给大家讲解一下如何实现PDF图片文字识别吧。   步骤一:打开电脑浏览器,下载并运行捷速OCR文字识别软件。            & 查看详情

python图片文字识别——windows下tesseract-ocr的安装与使用(代码片段)

Python图片文字识别——Windows下Tesseract-OCR的安装与使用前言Windows下Tesseract-OCR的安装与配置Tesseract-OCR简介与版本选择tesseract-OCR安装Tesseract-OCR配置安装Python调用TesseractAPI所需依赖项Tesseract-OCR测试与使用命令行模式使用Python调用Tess... 查看详情

使用电脑实现图片文字识别的方法

...工作,我们都需要在电脑上进行,那么我们如何在电脑上实现图片文字识别呢,知道方法的人很简单,只需要在电脑上准备一个工具,便可以轻松的完成,下面小编分享一个简单而又高效的方法。使用工具:迅捷OCR文字识别工具... 查看详情

职场进行图片文字识别的方法?

...个可以识别文字的OCR文字识别软件,可以轻松的帮助我们实现图片文字识别,不仅节约时间,更节约金钱,是不是很好啊,下面分享一个图片文字识别的方法。OCR文字识别软件介绍:比如说“迅捷OCR文字识别软件”是通过光学字... 查看详情

tesseract-ocr的training简明教程

...g的过程则可以提升起识别的准确率,本文将介绍如何traintesseract-ocr。1. 关于Training  Tesseract虽然很强,且可以处理各类的文字转换,但是我们的目标图片并非如我们所期没有各类的干扰因素;在实际的情 查看详情

项目管理javaocr实现图片文字识别(代码片段)

【项目管理】JavaOCR实现图片文字识别1.项目前言1.1项目需求1.2OCR引擎选择1.3Tess4j介绍2.项目实现2.1项目搭建2.2主要实现代码3.效果演示3.1中文识别3.1.1需要识别的图片3.1.2识别过程3.1.3识别结果3.1.4总结3.2英文识别3.2.1需要识别的图... 查看详情

快速实现图片转文字的方法

在日常的生活和办公中,哪一种方法可以快速实现图片转文字呢,实现图片转文字的快速方法,可以尝试借助一种名叫OCR文字识别的工具,可以帮助我们快速的将图片转换成文字,下面小编就分享一个使用工具实现图片转文字的... 查看详情

显式设置用于 Tesseract-OCR 识别的字体

】显式设置用于Tesseract-OCR识别的字体【英文标题】:ExplicitlysetthefonttobeusedforrecognitionbyTesseract-OCR【发布时间】:2012-10-2016:29:33【问题描述】:我的文档在整个文档中只使用一种字体。不同的文档可能有不同的字体,但我知道哪... 查看详情

tesseract-ocr

...。怎么操作就不说了。1.安装Pillow2.安装pytesseract3.再安装tesseract-ocr,注意这个很关系是文字识别的核心程 查看详情

php怎么做图片识别

...到你。参考技术A如果是识别图片的文字信息,可以安装tesseract-ocr,有php的接口,你可以参考下面这个http://www.php.cn/php-weizijiaocheng-367765.html2.如果是做图片对比匹配:建议用c++、python等写一个后台程序,然后把图片交给后台程序处... 查看详情

职场专业图片文字识别的方法,你知道吗

在职场中又一个专业的图片文字识别方法,工作不是经常整理图片文字的员工不知道,那就是使用一下专业的OCR文字识别软件,在加上专业的操作方法,就可以快速的把图片上的文字识别出来了。在平时生活中实现图片文字识别... 查看详情

python提取图片中的文字(代码片段)

...改pytesseract源码中的路径,将tesseract_cmd的值改为安装Tesseract-OCR应用程序路径安装识别中文所需依赖库,下载链接将下载的中文库放在Tesseract-OCR安装目录下 查看详情

深入学习使用ocr算法识别图片中文字的方法

...求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python。一个小白在网上遨游了一天,终于找到一丝丝思绪,特意在此分享,希望大神提出宝贵的... 查看详情

python实现图片识别加翻译,高薪必备技能

Python使用百度AI接口实现图片识别加翻译pythonpython诞生30周年encoding:utf-8importrequestsimportbase64fromPILimportImageimportpytesseract这里需要安装一下Tesseract-OCR安装好之后别忘了把Tesseract-OCR路径添加到环境变量中importjsonimportrequestsimportk 查看详情

python实现图片识别加翻译,高薪必备技能

Python使用百度AI接口实现图片识别加翻译pythonpython诞生30周年encoding:utf-8importrequestsimportbase64fromPILimportImageimportpytesseract这里需要安装一下Tesseract-OCR安装好之后别忘了把Tesseract-OCR路径添加到环境变量中importjsonimportrequestsimportk 查看详情

java实现给图片添加水印(文字水印或图片水印)(代码片段)

本文介绍java实现在图片上加文字水印的方法,水印可以是图片或者文字,操作方便。目录一、java实现给图片添加文字水印1.获取原图片对象信息1.1读取本地图片1.2读取网络图片2.添加水印3.获取目标图片4.完成代码二、java... 查看详情