当前位置: 首页 > news >正文

网站页面设计公司龙岩会员系统小程序定制开发

网站页面设计公司,龙岩会员系统小程序定制开发,北京网站建设迈程网络,图片拼接在线制作1. 基本概念 1.1 Tesseract Tesseract 是一款基于 C 语言开发并开源的光学识别工具,提供底层的文字识别能力。 1.2 Tess4J Tess4J 是对 Tesseract OCR API 的 Java 封装,有了 Tess4J 之后 Java 就可以直接调用本地安装的 Tesseract 进行文字识别。 …

1. 基本概念

1.1 Tesseract

Tesseract 是一款基于 C 语言开发并开源的光学识别工具,提供底层的文字识别能力。

1.2 Tess4J

Tess4J 是对 Tesseract OCR API 的 Java 封装,有了 Tess4J 之后 Java 就可以直接调用本地安装的 Tesseract 进行文字识别。

2. 安装

2.1 Tesseract 安装

Tesseract 官方本身没有提供 Windows 的安装包,但是在他的官网上有一个第三方封装的安装包的链接。选择最新的 exe 文件进行安装就可以了,可以避开带有 dev 字样的包。下载完成后一路下一步就可以了。

2.2 Tesseract 环境变量配置

Tesseract 一共有两个环境变量需要配置

  • 在系统环境变量中的 Path 中添加 Tesseract 的安装目录,例如 c:\Tesseract-OCR
  • 在系统环境变量中添加一个新的变量,变量名为 TESSDATA_PREFIX,变量值为 Tesseract 安装目录下的 tessdata 目录的完整路径,例如 c:\Tesseract-OCR\tessdata

2.3 语言包安装

Tesseract 的安装包里自带的语言只有英文,如果需要用于识别中文需要自己下载语言包。语言包也可以在 Github 上下载,中文的语言包文件名为 chi_sim.traineddate,这其实是一个训练后的文件,但是对于我这样的新手来说 “语言包” 可能更好理解。

2.4 安装验证

安装完成后通过在控制台调用 Tesseract 来进行验证。

  • 在控制台输入 tesseract -v 命令,如果返回 Tesseract 的版本,说明安装和配置都成功了。
  • 在控制台输入 tesseract --list-langs 可以看到当前 Tesseract 已经安装的语言包。

3. TesseractOCR 使用

3.1 命令行使用

安装完 TesseractOCR 的安装之后可以使用命令行进行调用。

tesseract {img} {result} -l {lang}
  • img:需要识别的图片的完整路径,如 c:\1.png
  • result:识别结果保存的文件路径,如 c:\result.txt
  • lang:图片中的语言,就是语言包的前缀,如中文就是 chi_sim,英文就是 eng
    下面给出一个完整的样例。
tesseract c:\1.png c:\result.txt -l chi_sim

如果执行命令时提示 找不到命令不是内部命令,那就是环境变量没有配置对。

3.2 Tess4J 的使用

3.2.1 通过 Maven 引入包

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

3.2.2 编写测试代码

public static void main(String[] args) throws Exception {  Tess4jTest test = new Tess4jTest();  //创建ITesseract接口的实现实例对象  ITesseract iTesseract = new Tesseract();  //默认识别英文  //如果需要识别英文之外的语种,需要指定识别语种,并且需要将对应的语言包放进项目中  iTesseract.setLanguage("chi_sim+eng");  for (String fileName: test.getFileNames()) {  // 指定本地图片  File img = new File(test.getImgPath() + fileName);  //开始识别时间  long startTime = System.currentTimeMillis();  //识别结果  String ocrResult = iTesseract.doOCR(img);  // 输出识别结果  System.out.println("耗时:" + (System.currentTimeMillis() - startTime) + "ms");  System.out.println("识别结果: \n" + ocrResult );  }  }  public String getImgPath(){  return this.getClass().getClassLoader().getResource("").getPath() + "/test-img/";  }  public String[] getFileNames() {  return new String[]{"1.png"};  }

这里直接用本地图片进行测试,将图片放到项目中的 Resource 路径下的 test-img 目录下。这个 test-img 目录是要自己创建的。

3.2.3 遇到的问题

如果在执行代码过程中出现以下错误提示,说明环境变量没有设置,需要在系统环境变量中添加 TESSDATA_PREFIX,值是 TesseractOCR 安装目录下 tessdata 的路径。tessdata 目录是 TesseractOCR 的语言包目录。

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Error opening data file ./eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Warning: Invalid resolution 0 dpi. Using 70 instead.
Exception in thread "main" java.lang.Error: Invalid memory accessat com.sun.jna.Native.invokePointer(Native Method)at com.sun.jna.Function.invokePointer(Function.java:497)at com.sun.jna.Function.invoke(Function.java:441)at com.sun.jna.Function.invoke(Function.java:361)at com.sun.jna.Library$Handler.invoke(Library.java:265)at jdk.proxy2/jdk.proxy2.$Proxy2.TessBaseAPIGetUTF8Text(Unknown Source)at net.sourceforge.tess4j.Tesseract.getOCRText(Tesseract.java:517)at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:359)at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:228)at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:195)at test17.Tess4jTest.main(Tess4jTest.java:29)

4. 测试结果

4.1 识别率

Tesseract 在没有经过特殊训练的情况下,对简单图片的识别率还是可以的,但当图片变得复杂后几乎无法正常识别。这里的简单图片是指白底黑字,字是非手写的常用字体,并且排版工整。

4.2 性能

Tesseract 的识别性能比 PaddleOCR 稍强,但是差距不大,简单图片大约相差 100-200 ms。几乎可以忽略不计。

4.3 使用难度

Tesseract 在 Windows 上安装非常简单,使用第三方封装的安装包可以直接图形化界面安装。Tesseract 有多语言的 API 封装,对于开发来说就是调用 API,难度不大。但是如果要自己做训练就有一定的学习成本。

参考资料

Tesseract的Github
Tess4J的Github
Tesseract OCR V5.0安装教程(Windows)
Please make sure the TESSDATA_PREFIX environment variable is set to your “tessdata“ directory.
从头开始训练自己的 Tesseract 5 LSTM 识别库(超详细)
RAG 文件处理(2):图片字符的识别 tesseract-ocr、paddleocr、CnOCR
JAVA使用Tess4J进行ocr识别

http://www.yayakq.cn/news/135585/

相关文章:

  • 元气森林的网络营销方式关于公司网络优化方案
  • 重庆的网站建设公司wordpress 去掉评论
  • 做站用什么网站程序网站推广软件哪个最实惠
  • 龙泉市建设局门户网站网络规划设计师教程第四版
  • 建设网站对服务器有什么要求吗怎么按照屏幕比例做网站适应
  • 宁波微网站建设wordpress 中文文档下载
  • 有自己的网站做淘宝联盟号做吗关键词拓展工具有哪些
  • 响应式网站的发展现状自响应式网站建设清单
  • 国家工信部网站备案查询系统网站开发前景
  • 炫酷网站界面设计小说类网站功能建设
  • 开封府景点网站建设的目的南昌seo方案
  • 房产信息查询系统官方网站qq空间网站
  • mvc5 网站开发之美 pdf网站建设佛山拓客科技公司
  • 深圳网站建设 制作元桂林象鼻山介绍
  • 怎么电话销售网站建设网站建设多久可以建成
  • 网页设计与网站建设选择题网络营销实训报告
  • 南宁网站托管济南网站建设联系方式
  • 网站建设的资料的准备下拉框关键词软件
  • 十大在线编程网站designspiration
  • 北京医疗机构网站前置审批需要的材料有哪些怎么给自己公司做网站
  • 网站架构设计师待遇怎么样手机微信怎么建立公众号
  • 提高网页加载速度的方式长春网络推广seo
  • 万维网站注册全包圆装修公司
  • 做导航网站电商运营必备技能
  • 做高端企业网站建设公司网站开发环境构建
  • 企业网站开发外包临沂seo整站优化厂家
  • 手游托在什么网站申请国外有没有网站是做潘多拉的
  • 学习网站 现状深圳做外贸网站公司
  • seo做的最好的网站排行华竣国际的展厅设计公司
  • 模板网站建设信息东营市做网站