先看 生成的验证码图片例子:

这是原来的样子

KaptchaConfig.java 这个就不用说了吧,使用Kaptcha的基本配置类

package com.xx.config;import com.google.code.kaptcha.NoiseProducer;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.impl.WaterRipple;
import com.google.code.kaptcha.util.Config;
import com.jhlabs.image.RippleFilter;
import com.jhlabs.image.WaterFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.util.Properties;@Component
public class KaptchaConfig {@Bean(name = "captchaProducer")public DefaultKaptcha getDefaultKaptcha(){com.google.code.kaptcha.impl.DefaultKaptcha defaultKaptcha = new com.google.code.kaptcha.impl.DefaultKaptcha();Properties properties = new Properties();properties.setProperty("kaptcha.border", "no");properties.setProperty("kaptcha.border.color", "105,179,90");properties.setProperty("kaptcha.textproducer.font.color", "black");properties.setProperty("kaptcha.image.width", "110");properties.setProperty("kaptcha.image.height", "40");properties.setProperty("kaptcha.textproducer.char.string","23456789abcdefghkmnpqrstuvwxyzABCDEFGHKMNPRSTUVWXYZ");properties.setProperty("kaptcha.textproducer.font.size", "30");properties.setProperty("kaptcha.textproducer.char.space","3");properties.setProperty("kaptcha.session.key", "code");properties.setProperty("kaptcha.textproducer.char.length", "4");properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");// 这里 是去掉 噪点颜色//properties.setProperty("kaptcha.noise.color", "255,96,0");// 这是 是图片样式配置 原生的有三种 水纹 、 鱼眼 、 阴影// 这里是 我们自己实现的一个 也就是 样式自定义properties.setProperty("kaptcha.obscurificator.impl","com.xx.config.NoWaterRipple");// 配置使用原生的 无噪 实现类 NoNoiseproperties.setProperty("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}
}

NoWaterRipple.java 自定义实现的图片样式类
看出来没,照着 “com.google.code.kaptcha.impl.WaterRipple” 原生 水纹 样式抄的。
去掉 各种filter 直接用 baseImage 生成图片. (其实这里可支持其他个性化的操作)

package com.xx.config;import com.google.code.kaptcha.GimpyEngine;
import com.google.code.kaptcha.util.Configurable;import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;public class NoWaterRipple extends Configurable implements GimpyEngine {public NoWaterRipple(){}@Overridepublic BufferedImage getDistortedImage(BufferedImage baseImage) {//NoiseProducer noiseProducer = this.getConfig().getNoiseImpl();BufferedImage distortedImage = new BufferedImage(baseImage.getWidth(), baseImage.getHeight(), 2);Graphics2D graphics = (Graphics2D)distortedImage.getGraphics();//RippleFilter rippleFilter = new RippleFilter();//rippleFilter.setWaveType(0);//rippleFilter.setXAmplitude(2.6F);//rippleFilter.setYAmplitude(1.7F);//rippleFilter.setXWavelength(15.0F);//rippleFilter.setYWavelength(5.0F);//rippleFilter.setEdgeAction(0);//WaterFilter waterFilter = new WaterFilter();//waterFilter.setAmplitude(1.5F);//waterFilter.setPhase(10.0F);//waterFilter.setWavelength(2.0F);//BufferedImage effectImage = waterFilter.filter(baseImage, (BufferedImage)null);//effectImage = rippleFilter.filter(effectImage, (BufferedImage)null);graphics.drawImage(baseImage, 0, 0, (Color)null, (ImageObserver)null);graphics.dispose();//noiseProducer.makeNoise(distortedImage, 0.1F, 0.1F, 0.25F, 0.25F);//noiseProducer.makeNoise(distortedImage, 0.1F, 0.25F, 0.5F, 0.9F);return distortedImage;}}

最后把这两个类 放到你 配置的地方 就可以试试了
别忘了 改
properties.setProperty(“kaptcha.obscurificator.impl”,“com.xx.config.NoWaterRipple”);
这个地方

Kaptcha 验证码 无噪点 无干扰线 配置相关推荐

  1. kaptcha 验证码在spring mvc 中的使用

    转自:http://ttaale.iteye.com/blog/808719 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的 ...

  2. springboot集成kaptcha验证码

    导入依赖 <!-- kaptcha 验证码开源组件 --> <dependency><groupId>com.github.penggle</groupId& ...

  3. python去干扰线_GitHub - Guardiant/VerifyCode: 验证码去干扰线识别

    VerifyCode 使用Python给图片去干扰线和噪点 Img.py 处理验证码,对验证码进行去燥,分割 Crack.py 破解验证码,得到验证码数据 此程序运行在Python3.5版本上,不是P ...

  4. 简单版:带干扰线的图形验证码生成

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.生成工具类; import java.awt.Color; import java.awt.Fo ...

  5. 验证码——python去除干扰线

    一.验证码识别的概念 机器识别图片主要的三个步骤为消去背景.切割字符.识别字符.而现有的字符验证码也针对这三个方面来设计强壮的验证码. 以下简图帮助大家理解验证码识别的流程: 二.处理流程 其中最为关 ...

  6. python去干扰线_验证码——python去除干扰线

    [在上一篇文章中,我们使用sklearn对验证码进行了识别,为了提高识别率,今天来进行进一步优化. 观察验证码后,发现还可以对其进行旋转处理,这个验证码旋转角度在-30-30 一.验证码识别的概念 机 ...

  7. python 验证码去除干扰线,python 对验证码图片进行降噪处理

    python 对验证码图片进行降噪处理 发布时间:2018-05-16 20:38, 浏览次数:962 , 标签: python 首先贴一张验证码上来做案例: 第一步先通过二值化处理把干扰线去掉: f ...

  8. 图片验证码--BufferedImage 图片验证码去除干扰线

    java-BufferedImage 图片验证码去除干扰线的方法( 用于OCR tesseract图像智能字符识别) 图片验证码自动识别的功能 网上对于初始图片的处理方法有去噪点.灰度化等,唯独难搜到 ...

  9. HG680LC 线刷固件。可救砖!集成了大部分遥控器驱动。安卓9.0最新版本。无语音!~无语音!~介意的不要刷!~CPU支持:晶晨S905L3(B)——理论上通刷L3其他型号机型

    HG680LC 线刷固件.可救砖!集成了大部分遥控器驱动. 安卓9.0最新版本.无语音!~无语音~介意的不要刷!~ CPU支持:晶晨S905L3(B)--理论上通刷L3其他型号机型(M411A测试OK ...

最新文章

  1. 边缘数据中心2024年市场规模将超过130亿美元
  2. arcball原理 旋转视图 关键点总结 及代码
  3. mysql周报内容范文_Mysql各种报表查询含实例,日报,周报,月报,时间差自动计算...
  4. C/C++轻松写基于UDP的远程控制
  5. java 1.6.0.11_ubuntu 11.10安装java1.6(转)
  6. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (20) - IvyBridge微架构
  7. 追剧《今夕何夕》,同步唯美高清桌面壁纸
  8. Java开发设计——UML类图
  9. 关于react上线系列问题及解决方案
  10. 在ASP.NET 2.0中直接得到本页面生成的HTML代码(转自孟宪会之精彩世界)
  11. leetcode 171. Excel Sheet Column Number
  12. uniapp打包H5与uniapp打包apk交互,实现扫码功能。
  13. SSD的priorbox层
  14. 如何看待社会的阴暗面
  15. C# winform 工具箱、控件类型简介表
  16. 送您一份《学编程笔记本电脑选购指南》,建议收藏!
  17. 创业公司如何划分股份
  18. win10关闭防火墙过程(详细)
  19. 安卓app新版本的检测与更新(升级)
  20. java左值与右值问题_i++和++i以及左值,右值

热门文章

  1. matlab中的Neural Network  Training(nntraintool)界面的解释
  2. 【脚本】图像jpg转为png
  3. html,css笔试题分享(2)
  4. 互联网行业中,哪些岗位更有戏
  5. OSChina 周日乱弹 —— 如何证明“女生=恶魔”?
  6. 曝RTX4090电源接口过热烧毁,用户称烧到冒烟有焦味,网友:战术核显卡回来了...
  7. 职称计算机和外语评职称各加多少分,评职称 外语和计算机不再是门槛
  8. android 拍照人像对正框
  9. 【B2C支付、B2B支付、O2O支付是什么有什么区别呢?】
  10. 刷脸支付是线下商业的必经一环