使用Tess4J和TesseractOCR实现对图片文字的识别提取

背景:OCR场景识别主要使用 TesseractOCR和tess4J,Tesseract主要优势表现在中文文字识别的准确度和速率,tess4J识别英文的效果较好,且可移植性较高(中文识别效果可经训练后达到较好的效果),本次主要记录Tess4J和tesseractOCR的使用方法

TesseractOCR的简易使用:
1、安装tesseractOCR(安装包下载地址: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe)
2、下载完成后进行安装(可根据自己需要下载所需语言包,这里我下载的是中英文的语言包)如果有其它语言的要求可以去github上自行下载(https://github.com/tesseract-ocr/tessdata)下载完成后放入tessdata目录下
3、配置环境变量:
path:C:\Program Files (x86)\Tesseract-OCR
新增系统变量:
TESSDATA_PREFIX
C:\Program Files (x86)\Tesseract-OCR\tessdata
4、配置完成后,控制台 tesseract --version可查看对应版本
5、使用 tesseract xxx.jpg test -l chi_sim命令实现文字的提取和识别(不过这个识别成功率不是很好,可以通过训练字库的方式提高准确率 ->Todo)

Tess4J的使用
1、官网下载 tess4J 官网链接
2、下载完成解压后的目录
3、使用Idea,新建一个java工程,将dist目录和lib目录下的jar包导入项目
File -> Project Structure -> Module ->Dependencies -> add JARs and directorys

4、导入完成后,将tessdata目录copy到与src同级的目录下

5、该软件默认的识别的是英文,如果相要能识别中文,需要将中文的训练文本chi_sim.traineddata存放到C:\Program Files (x86)\Tesseract-OCR\tessdata中。可以编写测试类进行识别效果检验(Todo.可以针对场景进行训练提高识别效果)

package net.sourceforge.tess4j.example;import java.io.File;
import net.sourceforge.tess4j.*;public class TesseractExample {public static void main(String[] args) {// ImageIO.scanForPlugins(); // for server environmentFile imageFile = new File("eurotext.tif");ITesseract instance = new Tesseract(); // JNA Interface Mapping// ITesseract instance = new Tesseract1(); // JNA Direct Mapping// instance.setDatapath("<parentPath>"); // replace <parentPath> with path to parent directory of tessdata// instance.setLanguage("eng");try {String result = instance.doOCR(imageFile);System.out.println(result);} catch (TesseractException e) {System.err.println(e.getMessage());}}
}

Tess4J和TesseractOCR简易使用教程相关推荐

  1. Python模块(8)-sklearn 简易使用教程

    sklearn 简易使用教程 1.scikit-learn的数据集 2.scikit-learn 的训练和预测 scikit-learn 是在Numpy,SciPy,Matplotlib三个模块上编写 ...

  2. Python模块(7)-SciPy 简易使用教程

    SciPy 简易使用教程 1. 符号计算 2. 函数向量化 3. 波形处理scipy.signal 3.1 滤波器 3.2 波峰定位 基于numpy的一个高级模块,为数学,物理,工程等方面的科学计算提 ...

  3. python模块(5)-Matplotlib 简易使用教程

    Matplotlib简易使用教程 0.matplotlib的安装 1.导入相关库 2.画布初始化 2.1 隐式创建 2.2 显示创建 2.3 设置画布大小 2.4 plt.figure()常用参数 3 ...

  4. Python模块(2)-Numpy 简易使用教程

    Numpy模块 简易使用教程 1.数组创建 2.数组基本属性-维度.尺寸.数据类型 3.数组访问-索引.切片.迭代 4.数组的算术运算-加减乘除.转置求逆.极大极小 5.通用函数-sin,cos,ex ...

  5. Python模块(1)-Argparse 简易使用教程

    argparse 简易使用教程 1基本函数 2例子程序演示 3常用参数解释 4argparse模块整理的缘起 1基本函数 argparse是Python中用于命令行中进行参数解析的一个模块,可以自动生 ...

  6. layui个人中心html,Layui的简易入门教程

    layui是一款采用自身模块规范编写的前端UI框架,非常适合界面的快速开发.本篇文章给大家分享一下Layui的简易入门教程,介绍一下layui如何在你的项目中使用. 获得 layui 后,将其完整地部 ...

  7. 伤害世界服务器连接失败_伤害世界服务器简易架设教程

    伤害世界服务器简易架设教程 那么很简单,首先需要大家做的就是下载我们的服务器文件,这个文件在哪里呢,我们就直接在steam下载即可 直接下载即可,这就是服务端文件了 下载完毕后,它会在以上steam里 ...

  8. Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识

    理解GTX的必备姿势,学起来! 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇) 目录 一.什么是GTX? 二.Quad/Channel 三.PMA与PCS 四.GTX收发处理流程 五 ...

  9. Music Store(音乐商店)简易中文教程

    官方网址:         CodePlexProject Hosting for Open Source Software        http://www.codeplex.com/ ===== ...

  10. 罗曼 matlab,成年人简易钢琴教程100首

    成年人简易钢琴教程100首 教程列表: 1.铃儿响叮当-环球钢琴网 2.温柔的爱-环球钢琴网 3.揽工调-环球钢琴网 4.欢乐颂-环球钢琴网 5.小进行曲-环球钢琴网 6.落水天-环球钢琴网 7.会哥 ...

最新文章

  1. Python中printf函数中逗号引发的区别
  2. 第四课.Python函数(一)
  3. 最强人脸检测来了 yolov5 face
  4. UVA1386 【Cellular Automaton】题解
  5. Dubbo服务发布调用实现
  6. 使用Nginx+Lua(OpenResty)开发高性能Web应用
  7. 有mysql的虚拟主机吗,虚拟主机能用mysql么
  8. 关于id Tech5的MegaTexture技术
  9. Java正则表达式例子汇总
  10. html5代码_深入解读HTML5移动应用程序开发!
  11. CTU 2019 Open Contest G.Beer Mugs
  12. 北京互联网地域歧视链
  13. 对路径“bin\MySql.Data.xml”的访问被拒绝的解决方法
  14. 生产质量分析报告常用模板汇总,质量人必备!
  15. HOST 文件网页屏蔽广告
  16. 我看QQ与360之争
  17. 高级软件工程第七次作业:LLS战队Alpha敏捷冲刺5
  18. SAP扫盲系列之一:什么是SAP系统和应用服务器
  19. 使用 Google Guava Striped 实现基于 Key 的并发锁
  20. SELinux权限问题解决

热门文章

  1. 微信API接口(收藏)
  2. 计算机中文无敌版,与电脑下象棋无敌版
  3. 番茄钟怎么调_番茄时钟起床时间怎么设置 番茄时钟起床时间设置方法
  4. xshell 4无法保存新建session
  5. Vc++安装包_Visual C++ 6.0中文版安装包下载及win11安装教程
  6. snmpwalk , snmpget
  7. jmeter连接mysql并定义变量提供给后续接口使用
  8. wifi射频设计指南
  9. grads插值_GrADS学习资料:第2章 数据处理
  10. esp8266教程:esp8266使用mqtt连接百度智能云