Tesseract OCR+Tess4j实现图片中英文识别

文章目录

  • Tesseract
    • 简介
    • 环境搭建
    • 下载语言库
  • tess4j
    • 依赖
    • demo


Tesseract

简介

Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生。在2005年,Tesseract由美国内华达州信息技术研究所获得,并委托Google对其进行改进、优化工作。

Tesseract目前已作为开源项目发布在Google Project,它与Leptonica图片处理库结合,可以读取各种格式的图像并将它们转化成超过60种语言的文本,我们还可以不断训练自己的库,使图像转换文本的能力不断增强。如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。

环境搭建

这里只介绍 Homebrew

brew install tesseract

其他系统请见官方安装文档

下载语言库

根据自己的需求可以到这里选择所需要的语言库,如我们选择的简体中文库是: chi_sim.traineddata,将下载好的文件拷贝到: /usr/local/Cellar/tesseract/4.0.0_1(tesseract版本号)/share/tessdata目录下。

tess4j

依赖

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

demo

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;import java.io.File;public class Test {@org.junit.Testpublic void test()throws Exception{String file = "/Users/apple/Downloads/1.jpg";ITesseract iTesseract = new Tesseract();iTesseract.setDatapath("/usr/local/Cellar/tesseract/4.0.0_1/share/tessdata");iTesseract.setLanguage("eng+chi_sim");//中英文结合用 + 分隔long l = System.currentTimeMillis();System.out.println(iTesseract.doOCR(new File(file)));//识别结果System.out.println("用时:"+(System.currentTimeMillis()-l) + "ms");}}

运行结果
识别结果

关于识别的准确率,肯定是分辨率越高越准确;如果图片比较大,建议每一次只识别一块指定的区域(传入一个Rectangle对象指定识别的区域)

下面贴上ITesseract接口方法

	String doOCR(File var1) throws TesseractException;String doOCR(File var1, Rectangle var2) throws TesseractException;String doOCR(BufferedImage var1) throws TesseractException;String doOCR(BufferedImage var1, Rectangle var2) throws TesseractException;String doOCR(List<IIOImage> var1, Rectangle var2) throws TesseractException;String doOCR(List<IIOImage> var1, String var2, Rectangle var3) throws TesseractException;String doOCR(int var1, int var2, ByteBuffer var3, Rectangle var4, int var5) throws TesseractException;String doOCR(int var1, int var2, ByteBuffer var3, String var4, Rectangle var5, int var6) throws TesseractException;void setDatapath(String var1);void setLanguage(String var1);void setOcrEngineMode(int var1);void setPageSegMode(int var1);void setTessVariable(String var1, String var2);void setConfigs(List<String> var1);void createDocuments(String var1, String var2, List<ITesseract.RenderedFormat> var3) throws TesseractException;void createDocuments(String[] var1, String[] var2, List<ITesseract.RenderedFormat> var3) throws TesseractException;OCRResult createDocumentsWithResults(BufferedImage var1, String var2, String var3, List<ITesseract.RenderedFormat> var4, int var5) throws TesseractException;List<OCRResult> createDocumentsWithResults(BufferedImage[] var1, String[] var2, String[] var3, List<ITesseract.RenderedFormat> var4, int var5) throws TesseractException;OCRResult createDocumentsWithResults(String var1, String var2, List<ITesseract.RenderedFormat> var3, int var4) throws TesseractException;List<OCRResult> createDocumentsWithResults(String[] var1, String[] var2, List<ITesseract.RenderedFormat> var3, int var4) throws TesseractException;List<Rectangle> getSegmentedRegions(BufferedImage var1, int var2) throws TesseractException;List<Word> getWords(BufferedImage var1, int var2);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/60896.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tesserocr识别图片

tesseract是什么 tesseract是google开源的OCR;tesserocr 是 Python 的一个 OCR 识别库 &#xff0c;但其实是对 tesseract 做的一 层 Python API 封装&#xff0c;所以它的核心是 tesseract。 因此&#xff0c;在安装 tesserocr 之前&#xff0c;我们需要先安装 tesseract 。 …

.net Tesseract 图片识别

相信大家在开发一些程序会有识别图片上文字&#xff08;即所谓的OCR&#xff09;的需求&#xff0c;比如识别车牌、识别图片格式的商品价格、识别图片格式的邮箱地址等等&#xff0c;当然需求最多的还是识别验证码。如果要完成这些OCR的工作&#xff0c;需要你掌握图像处理、图…

腾讯ocr图片识别接口调用

最近开发了一个拍车牌识别车牌号的功能&#xff0c;主要调用了腾讯的ocr车牌识别接口&#xff0c;直接上代码&#xff1a; 首先生成签名以及读取配置的工具类&#xff1a; package com.weaver.formmodel.integration.ocr;import java.util.Random; import javax.crypto.Mac; …

图片识别工具Tesseract介绍和python搭配使用

Tesseract介绍和Python的搭配使用 一、Tesseract介绍、下载指南1、了解Tesseract工具2、下载地址3、请注意&#xff01;&#xff01;&#xff01; 二 、环境搭建2.1 版本3.05安装2.2 最新版本安装2.3 环境搭建2.4 举个栗子 三、Python中的环境搭建3.1 安装pytesseract3.2 修改配…

js逆向之补环境过瑞数4.0 某房地产

写这篇文章的目的是为了记录一下自己的逆向之旅,后面会持续更新5.0,6.0,加速乐,akamai,5s盾,极验滑块,腾讯滑块,网易易盾等等. 过瑞数有很多方法,rpc,js逆向(扣代码和补环境),如果你不想屁股坐出痔疮,又或者又少几根头发,可以参考一下本篇文章.本章将从rs的流程逻辑以及详解补…

燕尾夹-钣金

草图1 基体法兰 褶边 展开 切除 拉伸切除&#xff1a;完全贯穿&#xff0c;折叠 底面草图绘制 从草图绘制折弯 绘制第2个折弯 基准轴 基准面 基准面草绘 基准面&#xff0c;对称 镜像实体

钣金cad插件_ug,CAD,SolidWorks,钣金??????非标等设计讲解

ug,CAD,SolidWorks,钣金​‌‌​‌‌非标等设计讲解 《培训课程》 一&#xff0e;UG、PROE三维产品设计班 1)产品设计流程&#xff1b; 2)三维造型、各类产品结构设计 3)产品表面处理工艺 4)UG、PROE 3D造型、抄板、工程图、逆向工程、点云处理。 5)100多套家电、医疗器械、汽车…

在proe中设计钣金件

Pro/Engineer 是美国PTC公司开发的三维实体建模软件&#xff0c;在工程设计开发中有着广泛应用&#xff0c;比如零件设计&#xff0c;钣金件设计&#xff0c;模具设计&#xff0c;管道线路设计等。目前该工程软件已发展到Creo3.0。本次将以proe5.0为设计平台浅谈该软件在实际工…

钣金cad插件_ug,CAD,SolidWorks,钣金??????非标等设计

ug,CAD,SolidWorks,钣金​‌‌​‌‌非标等设计 《培训课程》 一&#xff0e;UG、PROE三维产品设计班 1)产品设计流程&#xff1b; 2)三维造型、各类产品结构设计 3)产品表面处理工艺 4)UG、PROE 3D造型、抄板、工程图、逆向工程、点云处理。 5)100多套家电、医疗器械、汽车、手…

钣金设计大师20年钣金设计经验总结

钣金设计经验总结 1&#xff1a;明确标识毛边方向 钣金在下料及冲孔时会有R角及毛边的产生。尤其在量产一个阶段模具有所磨损之后&#xff0c;毛边会更为严重&#xff0c;甚至会割伤手指头。因此在出图制作模具时&#xff0c;就必须依功能&#xff0c;明确标示出毛边方向。 …

结构建模设计——Solidworks软件之使用钣金折弯功能做一个带折弯固定口的铝合金面板

【系列专栏】&#xff1a;博主结合工作实践输出的&#xff0c;解决实际问题的专栏&#xff0c;朋友们看过来&#xff01; 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

solidworks钣金学习分享

1、基本法兰&#xff1b;选择 折弯扣除 板厚1mm 设置1.7mm 2、边线法兰&#xff1b;半径选择0.2mm 3、闭合边角&#xff0c;加长边选择较长的一边&#xff0c;方便后期折弯 4、放样折弯需要开口的草图

catia钣金根据线段折弯,CATIA钣金实例教程_生成棱边弯曲_生成局部折叠或展开

CATIA钣金实例教程_生成棱边弯曲_生成局部折叠或展开,使用 5.3 节的钣金零件。模型如图 5-40。 @PLONQ9KOT2[YI0M)I9MT05.png (62.9 KB, 下载次数: 82) 2018-12-2 17:43 上传 图5-40 钣金零件模型  点击工具栏内的 Unfolding 展开图标 {C~UYV2UI(41%RRR_ML_KV9.png (1.64 KB…

搜索神器Perplexity的详细使用方法(持续更新)

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

git commit 模板配置

Git Log 之痛 在《The Art of Readable Code》这本经典书中&#xff0c;有个形象的比喻&#xff0c;衡量代码可读性的指标是阅读代码时每分钟的 WTF 次数&#xff0c;而在读 Git 提交历史的时候&#xff0c;不知道你有多少次爆粗口&#xff1f;不相信&#xff1f;你现在打开公司…

一键式AI绘画,让你也能体验当画师的魅力(附原理分析)

文章目录 讲在前面一、Novel AI1. 网站介绍2. AI作画 二、AI绘画的内在原理1. Diffusion Model的基本过程2. 扩散模型的兴起 讲在前面 大概在今年10月初期&#xff0c;AI作画的热潮突然被掀起&#xff0c;这股潮流瞬间激起了人们对于AI的思考和恐惧&#xff0c;一方面来说&…

AI绘画网站最全收集!!

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 重磅干货&#xff0c;第一时间送 AI绘画在过去也一直有研究&#xff0c;但是最近几个月的突然爆发主要是因为一些关键技术的突破。例如&#xff0c;超大规模、跨模态的预训练语言模型的成熟&#xff0c;使得AI绘画可…

Ai绘画工具有哪些?推荐这7款效果惊艳的AI绘画神器

2022虽然不是ai绘图这项技术诞生的时间&#xff0c;但却是到目前为止最爆火出圈的绘图元年。 AI绘图&#xff08;AI painting&#xff09;就是以文生图&#xff08;text2image&#xff09;&#xff0c;属于跨模态生成&#xff08;Cross-modal generation&#xff09;的一种&am…

AI魔法秀:D-ID助你打造视频虚拟数字人

随着ChatGPT的各种玩法&#xff0c;写文章、做PPT、编程、修bug等&#xff0c;大家都玩的不亦说乎&#xff0c;可以说真的给家人们提升的效率很高&#xff0c;最近个人尝试着制作一个虚拟数字人&#xff0c;也是一个玩法&#xff0c;可以帮助很多中小企业做企业文化宣讲或者是产…

对抗神经网络(GAN)

对抗神经网络其实是两个网络的组合&#xff0c;可以理解为一个网络生成模拟数据&#xff0c;另一个网络判断生成的数据是真实的还是模拟的。生成模拟数据的网络要不断优化自己让判别的网络判断不出来&#xff0c;判别的网络也要优化自己让自己判断得更准确。二者关系形成对抗&a…