简介

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。

Tess4J是对Tesseract OCR API.的Java JNA 封装。使java能够通过调用Tess4J的API来使用Tesseract OCR。支持的格式:TIFF,JPEG,GIF,PNG,BMP,JPEG,and PDF

Tess4J API 提供的功能:

直接识别支持的文件

识别图片流

识别图片的某块区域

将识别结果保存为 TEXT/ HOCR/ PDF/ UNLV/ BOX

通过设置取词的等级,提取识别出来的文字

获得每一个识别区域的具体坐标范围

调整倾斜的图片

裁剪图片

调整图片分辨率

从粘贴板获得图像

克隆一个图像(目的:创建一份一模一样的图片,与原图在操作修改上,不相 互影响)

图片转换为二进制、黑白图像、灰度图像

反转图片颜色

创建maven项目

pom中引用jar包

net.sourceforge.tess4j

tess4j

4.5.1

下载语言库文件

其中chi_sim.traineddata为中文语言库,eng.traineddata为英文语言库。

在任意地方创建一个文件夹tessdata,将下载的chi_sim.traineddata 和 eng.traineddata语言包存放在该目录下,也可以直接存放到自己项目的resources/tessdata目录下。

PS:后期的OCR样本训练,实际上就是制作生成自己的语言库文件

代码示例

//识别图片的路径(修改为自己的图片路径)

String path = "D:\\test.png";

File file= newFile(path);

ITesseract instance= newTesseract();//获得Tesseract的文字库,设置语言库位置

URL tessdataPath = ClassLoader.getSystemResource("tessdata");

instance.setDatapath(tessdataPath.getPath().substring(1));//chi_sim :简体中文, eng:英文 根据需求选择语言库

instance.setLanguage("eng");

String result= null;try{long startTime =System.currentTimeMillis();

result=instance.doOCR(file);long endTime =System.currentTimeMillis();

System.out.println("Time is:" + (endTime - startTime) + " 毫秒");

}catch(TesseractException e) {

e.printStackTrace();

}

System.out.println("result: ");

System.out.println(result);

测试图片:

结果:

参考:

java 如何使用ocr_Java使用tess4J进行OCR图像识别相关推荐

  1. java 图片识别 tess4j_JAVA使用Tess4J进行ocr识别

    Tess4J是对Tesseract OCR API.的Java JNA 封装.使java能够通过调用Tess4J的API来使用Tesseract OCR.支持的格式:TIFF,JPEG,GIF,PNG ...

  2. Java的开源文字识别Tess4j与Tesseract-OCR

    提示:本文中部分内容图片节选自互联网,无意冒犯.如有侵权请私信联系作者即可删除.更改. 原因 由于项目需要,要求项目可以识别简单的图片,客户不想使用付费的大厂接口,于是我在查看资料后决定使用Tesse ...

  3. OCR图像识别技术的JAVA实现(一)

    转自:https://blog.csdn.net/weistin/article/details/78839804 OCR图像识别技术的JAVA实现 最近有个需求需要用图像识别,学习记录一下. 目前网 ...

  4. 基于python的OCR图像识别,EasyOCR图像处理文字识别

    最近在做ocr图像识别,试过了好多种,其中EasyOCR模块还是可以满足基本的图像识别的,下面,写一写使用的方法,一是供大家参考,二也是自己做个备注笔记,另外,EasyORC是个开源的项目,免费的 1 ...

  5. JAVA使用Tess4J进行ocr识别,并切换中文

    一.电脑中安装 tesseract :可以参考另一篇文章: Mac上安装 tesseract_MR.骑士道-CSDN博客_mac tesseract 二.下载 tess4j Download Tess ...

  6. java tess4j 示例_java 使用tess4j实现OCR的最简单样例

    网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例. 1.使用maven,直接引入依赖,确保你的工程JDK是1.8以上 net.sou ...

  7. JAVA——Tess4J简单的图像识别DEMO

    基本概念 Tesseract Open Source OCR Engine :包含一个OCR引擎 - libtesseract和一个命令行程序 - tesseract.Tesseract 4添加了一个 ...

  8. tess4j识别中文在linux,基于Tess4j的OCR文字识别(附部署方案)

    整个项目是基于springboot的 暂时只完成了基本的功能html 应用 能够用来解决爬虫的文字反爬问题,以及其余文字识别的场景.java 开放接口 Type:post 返回格式:json 请求参数 ...

  9. java 获取文件大小_利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字

    序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...

最新文章

  1. 人脸识别之insightface开源代码使用:训练、验证、测试(4)
  2. 为什么那么多人要学Java?这三个原因告诉你
  3. OpenGL延迟着色之二
  4. 【MFC】自绘对话框动画效果的状态栏
  5. 调研Android的开发环境的发展演变
  6. VS Code编写html(2)
  7. proteus数码管不亮是什么原因_数码管灌封胶有何产品性能特点?如何正确使用?...
  8. 12 个有效的提高编程技能的方法
  9. GEE 导入shp数据-裁剪影像
  10. oracle表增加序列字段,Oracle创建表和创建序列和修改,增加sql字段
  11. 邮件服务器的功能以及相关工作原理
  12. 微信商家收款码和个人收款码有什么区别?
  13. 第二章.物理层:2.6宽带接入技术
  14. 2013菏泽国际牡丹文化旅游节
  15. 双硬盘双系统win10+manjaro-kde搭建
  16. WINDOWS11自带输入法无法切换中英文问题解决办法
  17. 人人网,给我个“上”你的理由吧?
  18. steam审查元素免费得到几十款游戏教程
  19. 前端学习-CSS京东导航栏
  20. 分布式学习(6)etcd@3@ API v3 gRPC_range,put,deleterange

热门文章

  1. 我们、这样子相爱、什么都不计较,多好啊~
  2. 扫地机器人的轮子困住_扫地机器人被“困住”的解决办法
  3. 极域电子教室2010版广播出现黑屏问题解决办法之一
  4. Hi3516内核编译
  5. SuperRecovery超级硬盘数据恢复软件
  6. 【colaboratory】谷歌colab挂载硬盘使用
  7. 用友2020校招java笔试题_2020年快手校招JAVA岗笔试第三题-Go语言中文社区
  8. 罗马java_关于java:罗马数字转十进制的三种方法
  9. 物联网智能猫砂盆解决方案
  10. qq怎么高质量引流?QQ群怎么引流高质量客户