java验证码识别1

(本文仅用于学习研究图像匹配识别原理,不得用于其他用途。)

最近看了看验证码的识别,先从最简单的做起吧(固定大小,固定位置,固定字体)

验证码识别基本分四步,图片预处理,分割,训练,识别

看一个最简单验证码

这是一个德克萨斯扑克的注册页面的验证码

1。图像的预处理

这种直接根据亮度设个阈值处理就可以了

处理完图片效果为

图像基本分得比较清楚,图片分割也比较容易

2。分割

这个验证码居然是固定位置的,分割相当简单,直接截取相应位置就可以了

3。训练

直接拿几张图片,包含0-9,每个数字一个样本就可以了,将文件名对应相应的数字

4。识别

因为是固定大小,固定位置,识别也很简单。

直接拿分割的图片跟这个十个图片一个像素一个像素的比,相同的点最多的就是结果。比如如果跟5.jpg最相似,那么识别的结果就是5。

下面是识别结果,很容易达到100%

完整代码(csdn连个附件都不支持):

原文地址:https://www.cnblogs.com/marryZhan/p/2213945.html