Tesseract-OCR安装

Tesseract-OCR下载地址:https://github.com/UB-Mannheim/tesseract/wiki,下载tesseract安装包

安装tesseract,双击进行运行安装。全部点next就行。自己选择安装的位置

配置tesseract环境变量

系统环境变量–>path,添加Tesseract-OCR的路径位置

系统变量–>新建
变量名:TESSDATA_PREFIX
变量值:   D:\java工具\Tesseract-ocr\tessdata 你Tesseract安装的位置我是默认的安装位置
这一步是添加Tesseract-OCR的语言库,语言库地址:https://github.com/tesseract-ocr/tessdata。你还可以根据实际情况去自己训练自己的语言

Tesseract-ORC与java代码结合。截图获取图片中信息。不截屏可以直接换成图片地址。


import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class xxx {public static void main(String[] args) {try {jp();//图片文件:此图片是需要被识别的图片File file = new File("D:\\java工具\\Tesseract-ocr\\tessdata\\图片\\test.png");System.out.println("begin.........");String recognizeText1 = new test01().recognizeText(file);System.out.print(recognizeText1+"\t");} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}//截屏public static void jp(){Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();// 创建需要截取的矩形区域Rectangle rect = new Rectangle(0, 0, screenSize.width, screenSize.height);// 截屏操作BufferedImage bufImage = null;try {bufImage = new Robot().createScreenCapture(rect);                   //存入截图if (ImageIO.write(bufImage, "PNG", new File("D:\\java工具\\Tesseract-ocr\\tessdata\\图片\\test.png"))) {System.out.println("截屏成功");}} catch (Exception e) {throw new RuntimeException(e);}}
}

调用下面的test01方法,进行读取数据

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;public class test01 {private final String LANG_OPTION = "-l";private final String EOL = System.getProperty("line.separator");/*** Tesseract-OCR的安装路径*/private String tessPath = "D://java工具//Tesseract-ocr";/*** @param imageFile   传入的图像文* @return 识别后的字符串*/public String recognizeText(File imageFile) throws Exception {/*** 设置输出文件的保存的文件目录,创建output文件夹*/File outputFile = new File(imageFile.getParentFile(), "output");StringBuffer strB = new StringBuffer();List<String> cmd = new ArrayList<String>();cmd.add(tessPath + "\\tesseract");cmd.add("");cmd.add(outputFile+"\\"+outputFile.getName());cmd.add(LANG_OPTION);
//        cmd.add("chi_sim");// 切换中文识别语言或者你自己训练的语言cmd.add("eng");ProcessBuilder pb = new ProcessBuilder();pb.directory(new File(tessPath));cmd.set(1, imageFile.getParentFile()+"\\"+imageFile.getName());pb.command(cmd);pb.redirectErrorStream(true);long startTime = System.currentTimeMillis();System.out.println("开始时间:" + startTime);Process process = pb.start();/**/int w = process.waitFor();if (w == 0)// 0代表正常退出{BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(outputFile+"\\"+outputFile.getName()+".txt"),"UTF-8"));String str;while ((str = in.readLine()) != null) {strB.append(str).append(EOL);}in.close();long endTime = System.currentTimeMillis();System.out.println("结束时间:" + endTime);System.out.println("耗时:" + (endTime - startTime) + "毫秒");} else {String msg;switch (w) {case 1:msg = "Errors accessing files. There may be spaces in your image's filename.";break;case 29:msg = "Cannot recognize the image or its selected region.";break;case 31:msg = "Unsupported image format.";break;default:msg = "Errors occurred.";}throw new RuntimeException(msg);}// 删除生成的文件new File(outputFile+"\\"+outputFile.getName()+".txt").delete();return strB.toString().replaceAll("\\s*", "");}
}

结果:

Tesseract-OCR安装与使用.获取图片中文字信息相关推荐

  1. Tesseract OCR与文本智能识别

    博主简介 博主是一名大二学生,主攻人工智能研究.感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c++,Python,爬虫等方面知识的分享. 如果有需要的小伙伴可以关注博主,博主会继续更新 ...

  2. Tesseract OCR 训练字库

    Tesseract OCR是一款由HP实验室开发由Google维护的开源OCR引擎,在字符识别领域发挥着举足轻重的作用.除了使用软件自带的中英文识别库,我们可以使用Tesseract OCR训练属于自 ...

  3. ocr语种识别_利用OCR图文识别,快速帮你提取文字信息

    我们在浏览网页.读书的时候,经常找到我们感兴趣的资料,有时候一些纸质文字或图片是无法复制保存的,那么为了方便这类信息的提取.编辑保存,中安未来特研发了OCR图文识别技术: 中安未来OCR图文识别技术是 ...

  4. Java识别获取pdf中文字信息(此方法任意pdf的信息都可以拿到)

    一.举例需求(拿较难的发票识别举例) 平时工作或者开发过程中如果遇到需要识别pdf发票中信息的情况,如获取发票代码号码,开票日期,校验码等,比如下面的发票,项目中需要读取发票中信息 二.方法原理 使用 ...

  5. java提取图片位置信息_实战项目——获取图片中的GPS位置信息和拍摄时间

    今天突然看到有人写过获取图片中位置信息的程序.我觉得很有趣,也就自己实践了一下,研究了一下 话不多说,先上代码 1 #!/usr/bin/env python3 2 #-*- coding: utf- ...

  6. iOS实践:OpenCV、Tesseract OCR结合 识别图片中文字

    前言: 前天领导问,类似扫描文件识别图中文字的功能如何实现,找一下第三方的开源库,尝试下,于是有了这篇文章: 分析: 识别场景中,识别身份证信息当属典型,查阅了几篇文章,后续的实现中也多导入了其代码: ...

  7. Tesseract Ocr文字识别实战(新版本,扩展手写文字识别)

    目录 1.Tesseract Ocr文字识别 1.1 运行环境 1.2 python模块 1.3 配置tesseract运行文件 1.4 代码识别 2. 手写汉字识别 2.1 下载库 2.2 代码 1 ...

  8. Tesseract OCR简介(三)--安装及参数使用

    参考:AI-Tesseract-OCR简介_花熊的博客-CSDN博客_tesseract坐标 一.windows 1.1 Tesseract安装 适用于Tesseract 3.05和Tesseract ...

  9. 用Tesseract OCR识别图片文字

    用tesseract ocr识别图片中的文字  准备 OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以 ...

最新文章

  1. 寻找长沙“科技之星”,CSDN星城大巡礼
  2. 算法---删除排序链表中的重复元素 II
  3. OpenStack行业实践和发展趋势
  4. Spark _08窄依赖和宽依赖stage
  5. 荒岛余生为什么没有打开包裹_您会带到荒岛什么办公桌设置?
  6. 争议激烈!新晋斯隆奖得主发布最新研究,网友:结果成疑,文章结论和实验结果完全相反...
  7. SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制
  8. Oauth2协议详解
  9. 自定义srv消息之ros
  10. JavaScript(四)字符串类型
  11. php文档注释提取工具phpdocumentor的使用
  12. adams matlab 柔性体,【ADAMS柔性体】柔性体生成流程与注意事项
  13. linux装软raid,LINUX中软RAID的实现方案
  14. 一行让电脑说话的代码
  15. 【ACWing】723. PUM
  16. Android 音乐播放器
  17. Tensorflow训练的模型,如何保存与载入?
  18. 装饰及家具设计的主要材料
  19. mysql 安装与连接数据库_Mysql 安装、登录以及链接数据库
  20. JErasure库相关介绍

热门文章

  1. 学校计算机课辅活动记录表,电脑课教学日志
  2. selenium+chrome抓取淘宝搜索抓娃娃关键页面
  3. SPS 所有信息分析
  4. 操作系统 实验一 进程管理与进程同步
  5. 安装centos7操作系统,安装界面在选择语言时卡主
  6. 蓝桥省赛 包子凑数 完全背包
  7. alias无效,source /etc/profile Badly placed ()'s.
  8. 想要入IT行业成为一名程序员很难吗?
  9. 定制修改版xposed 框架 适用 android7.1 SKD25
  10. vue仅使用腾讯地图根据城市名称获取经纬度