Java使用J4L识别验证码的操作方法

 更新时间:2022年02月18日 08:24:30   作者:Sue  
这篇文章主要介绍了Java使用J4L识别验证码的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1、首先要下载j4l的相应文件和jar

下载地址:http://www.java4less.com/ocrtools/ocrtools.php?info=download

百度网盘下载:

链接: https://pan.baidu.com/s/1hdO-wgjKe93dxKf6KNI_Ew?pwd=yfzw

提取码: yfzw

2、下载完成之后解压,文件目录结构如下

3、环境准备

下面配置环境变量,如果我们已经提前配置好JDK的环境变量,那么我们可以直接进行如下操作:

将解压文件下bits64目录的三个文件 liblept168.dll tess3Wrapper.dll windows7_readme.txt 都复制到JDK的bin目录下

同时,上级目录的leptonlib.dll 也复制进去

4、测试

准备工作完成之后, 新建maven项目或者普通的 Java项目,我这里建了一个maven普通项目,结构如下:

这里注意将解压目录下的tessdata文件下放到java工程里,与src目录同级。

同时我们需要引入jar包,Idea添加jar包步骤如下:

jar包添加成功后,在J4L解压目录里面找到OCRTest.java文件直接把这个文件复制到java工程下 :

import com.java4less.ocr.tess3.OCRFacade;
 
public class OCRTest {
    public static void main(String[] args) {
        OCRFacade ocrFacade = new OCRFacade();
        try {
            String text = ocrFacade.recognizeFile("C:\\Users\\Sue\\Desktop\\25.png", "eng");
            System.out.println("Text in the image is:" + text);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

测试时,只需要更改测试代码中的图片路径。

经过测试,J4L识别验证码有时还是会出现偏差。

到此这篇关于Java使用J4L识别验证码的文章就介绍到这了,更多相关Java J4L识别验证码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中使用@CrossOrigin和Proxy解决跨域问题详解

    Java中使用@CrossOrigin和Proxy解决跨域问题详解

    这篇文章主要介绍了Java中使用@CrossOrigin和Proxy解决跨域问题详解,在Web开发中,如果前端页面和后端接口不在同一个域名下,就会发生跨域请求的问题,同源策略是浏览器的一种安全策略,它限制了来自不同源的客户端脚本在浏览器中运行时的交互,需要的朋友可以参考下
    2023-12-12
  • Java中JVM的双亲委派、内存溢出、垃圾回收和调优详解

    Java中JVM的双亲委派、内存溢出、垃圾回收和调优详解

    这篇文章主要介绍了Java中JVM的双亲委派、内存溢出、垃圾回收和调优详解,类加载器是Java虚拟机(JVM)的一个重要组成部分,它的主要作用是将类的字节码加载到内存中,并生成对应的Class对象,需要的朋友可以参考下
    2023-07-07
  • spring中12种@Transactional的失效场景(小结)

    spring中12种@Transactional的失效场景(小结)

    日常我们进行业务开发时,基本上使用的都是声明式事务,即为使用@Transactional注解的方式,本文主要介绍了spring中12种@Transactional的失效场景,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Dwr3.0纯注解(纯Java Code配置)配置与应用浅析一之零配置文件化

    Dwr3.0纯注解(纯Java Code配置)配置与应用浅析一之零配置文件化

    Dwr对我来说最重要的功能点就是反向Ajax调用,通俗来将就是后端可以直接调用前端的JS方法(只要在所能访问的范围内),这也就是Dwr的真正来由,当然它也有最基本的前端直接调用后端的特性,省去了我们经常的一般Ajax调用
    2016-04-04
  • SpringBoot spring.factories加载时机分析

    SpringBoot spring.factories加载时机分析

    这篇文章主要为大家介绍了SpringBoot spring.factories加载时机分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • JVM Client和Server端有什么区别

    JVM Client和Server端有什么区别

    这篇文章主要介绍了JVM Client和Server端有什么区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

    MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

    这篇文章主要介绍了MyBatis 中 ${}和 #{}的正确使用方法,本文给大家提到了MyBatis 中 ${}和 #{}的区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 使用Netty实现类似Dubbo的远程接口调用的实现方法

    使用Netty实现类似Dubbo的远程接口调用的实现方法

    本文介绍了如何使用Netty框架实现类似Dubbo的远程接口调用,通过自定义编解码器、通信协议和服务注册中心等实现远程通信和服务治理。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-04-04
  • Java GUI进阶之流式布局管理器FlowLayout专项精讲

    Java GUI进阶之流式布局管理器FlowLayout专项精讲

    FlowLayout-流式布局管理器,按水平方向依次排列放置组件,排满一行,换下一行继续排列。排列方向(左到右 或 右到左)取决于容器的componentOrientation属性
    2022-04-04
  • SpringCloud中的断路器(Hystrix)和断路器监控(Dashboard)

    SpringCloud中的断路器(Hystrix)和断路器监控(Dashboard)

    本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识,需要的朋友可以参考下
    2019-06-06

最新评论