@[TOC](java使用tess4j进行图片文字识别)
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
# 一、简介
Tess4J 是Java (JNA) 对 Tesseract OCR API 的封装。
很久之前需要做一个自动登陆并对网页上的未处理的数据进行按钮点击,其中需要登陆的验证码校验,因此用了一下Tess4J,能识别一些简单的文字和数字等,识别率好像一般,但出错了就重新换一个验证码再试,多试几次也能成功。现将之前的简单使用过程记录,备查。
tesseract:[https://tesseract-ocr.github.io/](https://tesseract-ocr.github.io/)
官网:[http://tess4j.sourceforge.net/codesample.html](http://tess4j.sourceforge.net/codesample.html)
语言库:
[https://github.com/tesseract-ocr/tessdata](https://github.com/tesseract-ocr/tessdata)
[https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata](https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata)
# 二、使用过程
## 1.maven依赖引入pom.xml
```c
<!-- tess4j start -->
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>5.6.0</version>
</dependency>
<!-- tess4j end -->
```
## 2.准备好tessdata目录下的语言库文件
`需要提前下载好相关的语言库文件,这里我下了chi_sim.traineddata和eng.traineddata两个`
下载地址:[https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata](https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata)
下载好后放在代码里面的目录下
![在这里插入图片描述](https://img-blog.csdnimg.cn/b14850411d874d4993e4679fab4d6c01.png)
## 3.写测试代码进行测试
准备好两张图片放置在代码的资源目录下,方便程序读取,
`图片1`
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb5aeb38427542108c238aea84cac921.png)
`图片2`
![在这里插入图片描述](https://img-blog.csdnimg.cn/4bebf344b6f04492959741a2cb7b0101.jpeg)
`两张图片放在资源目录下`
![在这里插入图片描述](https://img-blog.csdnimg.cn/315e847591554efca54b77ac683b7796.png)
代码如下:
```c
package cn.ljhua;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import lombok.extern.slf4j.Slf4j;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
/**
* Tess4jOcr测试示例
* @author liujh
*/
@Slf4j
public class Tess4jOcrTest {
public static void main(String[] args) {
Tess4jOcrTest test = new Tess4jOcrTest();
test.ocrTest();
}
public void ocrTest() {
log.info("ocrTest start....");
long startMs = System.currentTimeMillis();
//Tesseract的代码开始---------------------->>>>
ITesseract instance = new Tesseract();
/**
* 组装接好tessdata目录的路径字符串
*/
String filePathPre = System.getProperty("user.dir");
String dataPath = filePathPre + File.separator + "tessdata";
/**
* 设置目录datapath the tessdata path to set
* 否则会报Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.错误
*/
instance.setDatapath(dataPath);
//instance.setLanguage("eng");//默认,可以不写
instance.setLanguage("chi_sim");//设置中文识别
String imageName = "verifyCode.png";
try (InputStream inStream = this.getClass().getResourceAsStream("/" + imageName)) {
BufferedImage bImage = ImageIO.read(inStream);
//doOCR也可以传参为File,我这里传的BufferedImage
String result = instance.doOCR(bImage);
//识别的结果回来可能会带回车,处理掉
result = result.replaceAll("\n", "");
log.info("图片名:" + imageName +" 识别结果:"+ result);
} catch (IOException e) {
log.error(e.getMessage(),e);
} catch (TesseractException e) {
log.error(e.getMessage(),e);
}
imageName = "vCode2.jpg";
try (InputStream inStream = this.getClass().getResourceAsStream("/" + imageName)) {
BufferedImage bImage = ImageIO.read(inStream);
//doOCR也可以传参为File,我这里传的BufferedImage
String result = instance.doOCR(bImage);
//识别的结果回来可能会带回车,处理掉
result = result.replaceAll("\n", "");
log.info("图片名:" + imageName +" 识别结果:"+ result);
} catch (IOException e) {
log.error(e.getMessage(),e);
} catch (TesseractException e) {
log.error(e.getMessage(),e);
}
//Tesseract的代码结束--------------------->>>>
log.info("ocrTest success. spend time :{} ms.", (System.currentTimeMillis() - startMs));
}
}
````
`测试结果截图如:`
![在这里插入图片描述](https://img-blog.csdnimg.cn/2f3c5cf50411445ebd5777cf14929b35.png)
英文识别出来比较正常,中文识别出来带了空格,如果需要可以通过代码进一步去掉空格,至此,tess4j的简单使用测试完成。
# 三、源码下载地址
最后提供源码如下:
github: [https://github.com/jxlhljh/tess4jOcrTest](https://github.com/jxlhljh/tess4jOcrTest)
gitee: [https://gitee.com/jxlhljh/tess4jOcrTest](https://gitee.com/jxlhljh/tess4jOcrTest)
没有合适的资源?快使用搜索试试~ 我知道了~
java识别图片中的中文
共69个文件
xml:26个
jar:18个
jpg:8个
需积分: 0 0 下载量 129 浏览量
2023-05-11
17:39:47
上传
评论
收藏 50.52MB RAR 举报
温馨提示
java识别图片中的中文
资源推荐
资源详情
资源评论
收起资源包目录
tess4jOcrTest-masterLgh.rar (69个子文件)
tess4jOcrTest-master
pom.xml 3KB
src
main
resources
xunchongdian.jpg 149KB
logback.xml 2KB
verifyCode.png 9KB
vCode2.jpg 3KB
telaidian.jpg 490KB
xiaoju.jpg 226KB
java
cn
ljhua
Tess4jOcrTest.java 5KB
LICENSE 11KB
.idea
.name 13B
$CACHE_FILE$ 2KB
libraries
Maven__net_sourceforge_lept4j_lept4j_1_18_0.xml 547B
Maven__net_sourceforge_tess4j_tess4j_5_6_0.xml 540B
Maven__org_jboss_logging_jboss_logging_3_1_4_GA.xml 590B
Maven__ch_qos_logback_logback_core_1_2_3.xml 550B
Maven__commons_logging_commons_logging_1_2.xml 561B
Maven__org_slf4j_slf4j_api_1_7_25.xml 516B
Maven__com_github_jai_imageio_jai_imageio_core_1_4_0.xml 610B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 571B
Maven__org_apache_pdfbox_fontbox_2_0_27.xml 534B
Maven__net_java_dev_jna_jna_5_13_0.xml 502B
Maven__commons_io_commons_io_2_11_0.xml 527B
Maven__org_jboss_jboss_vfs_3_2_17_Final.xml 558B
Maven__org_apache_pdfbox_pdfbox_debugger_2_0_27.xml 590B
Maven__org_apache_pdfbox_jbig2_imageio_3_0_4.xml 569B
Maven__org_apache_pdfbox_pdfbox_2_0_27.xml 527B
Maven__org_apache_pdfbox_pdfbox_tools_2_0_27.xml 569B
Maven__org_projectlombok_lombok_1_18_20.xml 534B
workspace.xml 5KB
misc.xml 2KB
inspectionProfiles
Project_Default.xml 1KB
compiler.xml 653B
modules.xml 273B
sonarlint
issuestore
encodings.xml 267B
target
classes
xunchongdian.jpg 149KB
logback.xml 2KB
verifyCode.png 9KB
cn
ljhua
Tess4jOcrTest.class 5KB
vCode2.jpg 3KB
telaidian.jpg 490KB
xiaoju.jpg 226KB
lib
logback-classic-1.2.3.jar 284KB
fontbox-2.0.27.jar 1.49MB
slf4j-api-1.7.25.jar 40KB
jai-imageio-core-1.4.0.jar 613KB
commons-io-2.11.0.jar 319KB
logback-core-1.2.3.jar 461KB
jboss-logging-3.1.4.GA.jar 56KB
pdfbox-2.0.27.jar 2.65MB
pdfbox-tools-2.0.27.jar 81KB
lombok-1.18.20.jar 1.84MB
jna-5.13.0.jar 1.79MB
jbig2-imageio-3.0.4.jar 140KB
jboss-vfs-3.2.17.Final.jar 141KB
tess4j-5.6.0.jar 8.56MB
pdfbox-debugger-2.0.27.jar 260KB
commons-logging-1.2.jar 60KB
lept4j-1.18.0.jar 3.56MB
tess4jOcrTest.jar 764KB
maven-status
maven-compiler-plugin
compile
default-compile
createdFiles.lst 29B
inputFiles.lst 71B
maven-archiver
pom.properties 111B
generated-sources
annotations
tessdata
eng.traineddata 22.38MB
chi_sim.traineddata 42.31MB
logs
log.log 20KB
error.log 0B
tess4jOcrTest.iml 2KB
.gitignore 95B
README.md 5KB
共 69 条
- 1
资源评论
麻花2013
- 粉丝: 41
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功