java tess4j mave_图片处理,Tess4j读取验证码、识别文字

本文档介绍了如何使用Java的Tess4j库读取和处理验证码图像,包括在Linux和Windows环境下的环境配置,Maven依赖,以及代码实现预处理和识别验证码的过程。此外,还提到了Tess4j与Tesseract版本兼容性问题和添加语言包以处理不同语言的步骤。
摘要由CSDN通过智能技术生成

最近有个需求,读取一个网站的信息,需要读取验证码。

一、环境依赖

1、如果在Linux下运行,需要安装如下 tesseract-ocr,

在 centos 上

yum install tesseract

在ubuntu上

apt install tesseract

其他版本的 Linux 可以从下面的地址找安装方式

https://tesseract-ocr.github.io/tessdoc/Home.html

2、如果在windows下运行

打开tess4j3.1.0.jar,把里面的win32-x86-64目录中的两个dll文件复制到C:\Windows\System32和C:\Windows\SysWOW64

需要安装vc开发环境

https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784

二、在pom.xml中引入maven

net.sourceforge.tess4jgroupId>

tess4jartifactId>

3.1.0version>

org.slf4jgroupId>

log4j-over-slf4jartifactId>

exclusion>

ch.qos.logbackgroupId>

logback-classicartifactId>

exclusion>

exclusions>

dependency>

三、代码如下

由于验证码图片中,大部分都有干扰信息,需要处理掉干扰信息,所以代码的大篇幅都在预处理图片。

import java.awt.image.BufferedImage;

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

import org.apache.log4j.Logger;

import net.sourceforge.tess4j.Tesseract;

import net.sourceforge.tess4j.util.LoadLibs;

import java.security.MessageDigest;

import java.math.BigInteger;

public class ImageUtil {

private static Logger log = Logger.getLogger(ImageUtil.class);

/**

* 读取验证码

* 1、去除验证码图片中的干扰信息

* 2、把背景改为纯白色

* 3、把文字改为纯黑色

* 4、读取验证码

* @param imagePath 原图片本地保存路径

* @return 验证码

* @throws Exception

*/

public static String readVerifyImage(Strin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值