环境:
java:jdk1.8
os:windows10
tesseract:4.1.0
step1:安装配置tesseract
a.下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.1.0.20190314.exe
可以在同目录下载最新的版本
b.双击下载后的文件开始安装
下载后将其安装到C:\Program Files\Tesseract-OCR,注意在安装过程中下载中文语言包
c.将C:\Program Files\Tesseract-OCR加到系统PATH变量中
d.新建一个值为C:\Program Files\Tesseract-OCR\tessdata的系统变量TESSDATA_PREFIX
e.打开一个命令窗口输入以下命令 >tesseract --list-langs
List of available languages (11):
chi_sim
...
出现上面chi_sim说明tesseract安装成功!
step2:java调用tesseract
编写如下测试类:TesseractUtil.java
package com.bry.tesseract; import java.io.File; import java.util.ArrayList; import java.util.List; public class TesseractUtil { public static String identifyTextFromPicture(String tessPath, String sourceFileName, String savePath, String language) { ProcessBuilder pb = new ProcessBuilder(); pb.directory(new File(tessPath)); pb.environment().put("TESSDATA_PREFIX", tessPath + File.separatorChar + "tessdata"); pb.redirectErrorStream(true); File sourceFile = new File(sourceFileName); List<String> cmd = new ArrayList<String>(); String ocr_result_filename = sourceFile.getName().substring(0, sourceFile.getName().lastIndexOf(".")); cmd.add(pb.directory().getAbsolutePath() + File.separatorChar + "tesseract"); cmd.add(sourceFile.getAbsolutePath()); cmd.add(savePath + File.separatorChar + ocr_result_filename); cmd.add("-l"); cmd.add(language); pb.command(cmd); try { Process process = pb.start(); if (process.waitFor() == 0) { return savePath + File.separatorChar + ocr_result_filename + ".txt"; } } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] arags) { String resultFile = TesseractUtil.identifyTextFromPicture("C:/Program Files/Tesseract-OCR", "D:/temp/test.png", "d:/temp", "chi_sim"); System.out.println(resultFile); } }
运行后在D:/temp/test.txt中看识别结果
相关推荐
java文件使用:使用Tesseract方法可通过pom方式和jar包方式; 注意:使用前先查看“训练步骤”的那个文档,里面有详细说明,一定要查看;重要!!! 注意:使用前先查看“训练步骤”的那个文档,里面有详细说明,...
一个Google支持的开源的OCR图文识别开源项目。去持多语言(当前3.02 版本支持包括英文,简体中文,繁体中文),支持...可以参考网上的相关资料进行对Tesseract字符识别进行样本训练,通过使用训练后的语言库会提高识别精度。
tess4j的demo开发, 中文识别率高,把项目导入到eclipse中无需修改,使用Junit直接运行Tesseract1Test即可看到效果
通过java调用OCR来对图片进行识别,本人这里是做了一个小的应用,自己玩玩,用来识别一个试卷的题目,并处理出题目编号、题目名、小题数目及分值 等信息。
java ocr图片文字识别,使用谷歌 tesseract3.02 OCR引擎以及Leptonica库光学字符识别。使用Java包装程序tes4j和Java应用程序,内有英文库,如果需要其他tesseract3.02字体文件,可以访问...
资源包括Java代码以及引用包、tesseract安装包和使用说明
java+Tesseract-OCR实现网页定点截图并识别图片中电话写入txt文件中
Java实现ocr图片识别(PaddleOCR)飞桨
tess4j微服务或maven项目的jar包自带window的动态链接库文件,但是不适配linux,需要自行编译创建,使用版本tesseract-4.1.1.tar.gz、leptonica-1.74.4,编译比较耗时繁琐,以来的库比较多,使用直接将解压后的文件...
Tesseract OCR多线程并发识别案例----只演示多线程并发识别,此工具不关注识别正确率,可通过训练tessdata来获得更高的识别正确率。
安装tesseract-ocr-setup-3.02.02.exe文件,通过java调用tesseract.exe文件识别图片,输出识别结果 测试类: com.chillyfacts.com.my_main.java 根据实际情况修改输入图片、输出文件名、tesseract.exe文件所在路径 ...
光学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。OCR技术非常专业,一般多是印刷、打印...本文主要介绍其中的一种tesseract识别技术
基于opencv+Tesseract-OCR的银行卡图片处理,智能识别银行卡号
需配置好OpenCV和OCR环境
java中Tesseract-OCR的使用与中文识别增强,减少识别错误率
4. 如果出现input source noset情况,原因是我的test类下的图片放在了E:\workspace\tesseract\second_test.png。自己在这个目录下建一个就这样的图片就可以了。 5. 当然拥有Jmeter就不需要经过第4步了。
Tesseract引擎是开源的,可以在Windows、Linux和MacOS等各种操作系统上使用,并提供多种编程语言的API,包括C++、Java、Python等。Tesseract还支持多线程处理,可以提高识别速度。Tesseract的识别精度和速度处于OCR...
支持androidx。旧版在1.0分支。...本项目使用的为英文识别训练包。 数字识别时,框小一点会好识别。(可以手动调节大小的扫描框) 数字识别对于手写体识别效率不高,主要是训练包问题。有需求可自行训练。
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115
java文字识别程序的关键是寻找一个可以调用的OCR引擎。tesseract-ocr就是一个这样的OCR引擎。