Dust8's blog

读书百遍其义自见

利用kaptcha库生成验证码图片

kaptcha 验证码

最近又捡起了验证码识别学习,在数据集获取这一块,想的是用验证码生成器来生成,
这样不用手打,也不用打码花钱,更重要的是数据集可以很大。现在网上还是有很多
网站在用 kaptcha ,就选它了。
它的示例是给网站用的,我们自己生成验证码图片需要用它的接口来自己定制。

图片示例

默认
鱼眼

代码

下载它的代码,里面有可以引入的 jar 和文档。
大体流程如下

// 初始化配置
Config config = new Config(properties);
Producer kaptchaProducer = config.getProducerImpl();

// 创建图像中的文本
String capText = kaptchaProducer.createText();

// 用文本创建图像
BufferedImage bi = kaptchaProducer.createImage(capText);

vscode 开发 java 项目

因为我不是搞 java 的,在这里卡了很久。
vscode 创建项目,就最简单的 app。项目目录如下
项目目录

bin: 放编译的文件
lib: 放要引入的第三方 jar
src: 放自己的源代码
.classpath:放项目的配置

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="output" path="bin"/>
    <classpathentry kind="lib" path="lib/kaptcha-2.3.2.jar"/>
</classpath>

MANIFEST.MF:放打包的配置

Manifest-Version: 1.0
Class-Path: lib/kaptcha-2.3.2.jar
Main-Class: app/App

compile.bat: 放打包的命令,点击就可以了,免得总输入命令

jar cvfm dkaptcha.jar Manifest.MF -C bin . lib
pause

run.bat: 放运行的命令

java -jar dkaptcha.jar 4
pause

web.xml: 放配置文件