java使用tesseract-ocr进行文字识别

这篇具有很好参考价值的文章主要介绍了java使用tesseract-ocr进行文字识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

公司使用AI进行OCR文字识别效果不好,并且提供的服务不稳定,本次查找到使用java也能连接的OCR开源项目进行识别的学习


一、tesseract-ocr是什么?

tesseract-ocr是一个开源的OCR文字识别项目,目前版本已经更新到5.X.X了,并且提供多种环境的安装,本次我们在window进行安装并且使用。

二、使用步骤

1.下载exe安装包

说明:tesseract-ocr目前训练的数据是放在tessdata文件夹下,后缀为traineddata文件,目前支持100多种语言。今天安装的为第三方支持的安装包。

https://github.com/UB-Mannheim/tesseract/wiki

该页面下有支持64位和32位的安装包

tesseract-ocr-w32-setup-5.3.0.20221222.exe (32 bit) and
tesseract-ocr-w64-setup-5.3.0.20221222.exe (64 bit) resp.

``

2.安装

在软件安装时,默认只会安装英文训练的数据集合,要使用其他文字,需要在安装时,进行勾选。

java使用tesseract-ocr进行文字识别

3.使用

该exe安装的软件可以直接使用tesseract.exe进行命令行执行文字识别。进入到exe存在的目录下。cmd进入到命命令执行框

//官方
tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

imagename :图片的位置
outputbase:输出的文件名字,不加后缀保存为txt格式
-l lang:识别的语言类型,不加默认为英文,中文使用-l chi_sim,使用多种语言识别如 -l eng+deu
–psm pagesegmode:参数
–oem:使用识别的引擎,新版都是用 --oem 1(LSTM模式)
configfiles: 可以执行输入的格式如 pdf, hocr ,tsv

-psm 后携带的参数:
0 =方向和脚本检测(OSD)1 =自动页面分割与OSD。
2 =自动页面分割,但没有OSD,或OCR
3 =全自动页面分割,无OSD。(默认)
4 =假设一列文本大小可变。
5 =假设有一个垂直对齐的文本块。
6 =假设有一个统一的文本块。
7 =将图像视为单个文本行。
8 =把图像看成一个单词。
9 =把图像看成一个圆圈里的单个单词。
10 =将图像视为单个字符。
-l lang和/或-psm pagesegmode必须出现在任何configfile之前。
tesseract.exe C:\Users\Lenovo\Pictures\联想截图\联想截图_20230220144409.png out -l chi_sim

识别结果默认为out.txt在exe目录下

3.设置全局path

要想在其他目录使用tesseract.exe工具,那么奖该工具父目录添加到环境变量中

二、java如何进行调用

1.引入依赖

tess4j是针对java对tesseract封装调用的api依赖,我们只需要在项目中引入pom即可开箱使用,注意,版本可能会影响,目前我引入的版本为5.0.0

        <!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
        <dependency>
            <groupId>net.sourceforge.tess4j</groupId>
            <artifactId>tess4j</artifactId>
            <version>5.0.0</version>
        </dependency>

2.demo使用

  public static void main(String[] args) throws IOException {
    // 创建实例
    ITesseract instance = new Tesseract();

    // 设置识别语言
 
    //instance.setLanguage("chi_sim");
    instance.setLanguage("jpn");

    // 设置识别引擎
 
    instance.setOcrEngineMode(1);
    instance.setPageSegMode(6);
 
    // 读取文件
 
    BufferedImage image = ImageIO.read(new File("C:\\Users\\Lenovo\\Pictures\\联想截图\\联想截图_20230220143248.png"));
    try {
      // 识别
        //String res = instance.doOCR(new File("C:\\Users\\Lenovo\\Pictures\\联想截图\\联想截图_20230220144409.png"));
        String result = instance.doOCR(image);
        System.out.println(result);
   } catch (TesseractException e) {
      System.err.println(e.getMessage());
   }
 }

注意:在新版本中识别引擎不能为0,否则报错

3.环境变量配置

我是用idea时需要配置环境变量,告知tessdata文件夹的位置,并且加入到Environment variables:TESSDATA_PREFIX=D:\Tesseract-OCR\tessdata文章来源地址https://www.toymoban.com/news/detail-444408.html


到了这里,关于java使用tesseract-ocr进行文字识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [C#]调用tesseact-ocr的traineddata模型进行ocr文字识别

    【框架地址】 https://github.com/charlesw/tesseract 【算法介绍】 Tesseract OCR是一个开源的光学字符识别引擎,它可以将图像中的文字转换成可编辑和可搜索的文本格式。Tesseract由惠普实验室于1985年开始开发,并在2005年被Google收购后成为了开源项目。自那时起,它一直在不断的更新和

    2024年02月02日
    浏览(32)
  • 【OCR项目】之用HALCON的深度学习工具进行文字识别,并导出到C++调用

    HALCON是一个强大的机器视觉工具,包含了2D,3D图像各种算子,以及各种任务的深度学习工具,包括目标检测,实例分割,文字识别等。 这次从实际生产的角度,来分享一下如何用HALCON进行文字识别。 衡量一个技术是否能在实际工业生产使用,要考虑的因素: 最重要的一点,

    2024年01月22日
    浏览(35)
  • 【项目管理】Java OCR实现图片文字识别

    系统:Win10 Java:1.8.0_333 IDEA:2020.3.4 最近在看外国漫画的时候,发现有些漫画没有汉化的翻译,这哪看得懂。正想把那些日语输入到有道翻译一下,发现日文不会输。正巧之前有接触关于OCR的项目,所以便想用Java做一个小工具,实现图片的文字识别功能,于是我便开始了项目

    2024年02月02日
    浏览(30)
  • 【实操】Java+百度ocr,实现图片识别文字小工具

    图片识别文字,咱用java也可以 通过 java+百度ocr ,实现一个截图或上传图片, 图片识别文字的小工具 。并通过 exe4j工具 将jar包封装成exe可执行桌面文件,方便使用及学习。 一位特别的老友即将 在2023年10月26日 年满 30周岁 ,愿 平安喜乐 公众号:【JavaDog程序狗】 关注公众号

    2024年02月08日
    浏览(35)
  • 如何使用Python实现图像文字识别OCR

    要使用Python实现图像文字识别OCR,可以使用以下步骤: 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎,可以处理多种语言和字体。要使用Python进行OCR,需要安装Tesseract OCR引擎。安装方法可以在Tesseract的官方网站上找到。 安装Python模块 要使用Python进行OCR,需要安装Python模块。

    2024年02月04日
    浏览(34)
  • Java调用tess4j完成 OCR 文字识别

    1,新建 maven 工程 2,引入依赖 dependency         groupIdnet.sourceforge.tess4j/groupId         artifactIdtess4j/artifactId         version5.11.0/version     /dependency 3,安装 tesseract-ocr 下载地址https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.3.20231005.exe 其他版本可以查看 https://digi.bi

    2024年04月25日
    浏览(20)
  • Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别

    先简单给没听过的xdm解释下,这里要分清楚Tesseract和Tess4j的区别。 Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统

    2024年02月04日
    浏览(28)
  • SpringBoot项目(百度AI整合)——如何在Springboot中使用文字识别OCR入门

    前言:本系列博客尝试结合官网案例,阐述百度 AI 开放平台里的组件使用方式,核心是如何在spring项目中快速上手应用。 本文介绍如何在Springboot中使用百度AI的文字识别OCR 其他相关的使用百度AI的文章列表如下: 如何在Springboot中使用语音文件识别 ffmpeg的安装和使用 1.从官

    2024年02月02日
    浏览(27)
  • Android离线文字识别-tesseract4android调用

    Android在线文字识别可以调阿里云的接口Android文字识别-阿里云OCR调用__花花的博客-CSDN博客 需要离线文字识别的话,可以调tesseract4android。个人测试效果不是特别理想,但是速度真的很快,VIVO S10后摄照片,80ms内识别完成。现有的蛮多资料都写的是调用tess-two,但是这个库,已

    2024年02月03日
    浏览(49)
  • Tesseract OCR安装与简单使用

    1.下载Tesseract OCR 下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 2.安装Tesseract OCR 双击安装程序,进入安装界面。 接受协议,下一步。 选择用户 选择组件 如果电脑配置够好、网速够快,可以之间勾选”Additional language data(download)“,下载全部额外的语言数据。 直接全选的话,后

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包