java 滴水算法_GitHub - oopsMonster/JavaVerify: 用java 编写的验证码识别

基于惯性大水滴滴水算法和支持向量机的验证码识别

Inertial big drop fall algorithm, libsvm

Introduction:

Functions:

1.Download the CAPTCHA from specified websites

2.Segment and recognize the distorted and sticky characters from picture

Technologies:

1.Use Java multi-thread and HTTP protocol to download CAPTCHA

2.Use Otsu threshold to binarize the original image

3.Use CFS (Color Filling Segmentation) algorithm to implement the first segmentation

4.Use BIDF (Big Inertial Drop Fall) algorithm to implement the second segmentation

5.Use LibSvm to build the model and predict the class of characters

根目录目录结构

|—— JavaVerify

| |—— download 从网上下载下来的原验证码图片,未经过处理

| |—— 1_gray 灰度化处理过的图片

| |—— 2_cfs 使用CFS连通域切割之后的图片

| |—— 3_drop 使用滴水算法切割之后的图片

| |—— 4_scale 缩放成16X16像素之后的图片

| |—— svm 使用livsvm建立的训练集,模型,以及分类的结果都保存在这里

| |—— src java的源代码

| |—— 其它的目录都是用来测试的

java包名

src

|—— Base 基类包(暂时没有用到)

| |—— Base.java 将一些图片处理的公共方法放到这里

|

|—— Ui 项目的入口

| |—— IndexFrame.java

|

|—— Widget 自定义控件包

| |—— AlphaLabel.java 半透明label

| |—— AlphaPane.java 半透明Pane

| |—— AlphaScrollpane.java 半透明ScrollPane

| |—— AlphaTextField.java

| |—— ScaleIcon.java 图片可缩放的icon

| |—— SliderUi.java 自定义的滚动滑块

|

|—— Model 实体类

| |—— Poin.java

| |—— SubImage.java

|

|—— svmHelper Libsvm自带的帮助类

| |—— svm_predict.java

| |—— svm_scale.java

| |—— svm_train.java

|

|—— train **切分图片和训练模型**

| |—— BinaryTest.java 测试二值化图片

| |—— Crawl.java 从12306上面爬取验证码图片,并保存到本地

| |—— Extremum.java 求极值的帮助类

| |—— Identy.java **最终的识别类,可由外部界面调用**

| |—— ImageUtil.java 图片操作的帮助类

| |—— Predict.java LibSvm进行预测的类

| |—— Train.java LibSvm进行训练的类

| |—— PreProcess.java 图片预处理,二值化等操作

| |—— SegCfg.java Cfg切割类

| |—— SegWaterDrop.java 滴水算法切割

| |—— ScaleImage.java 对图片进行缩放

|

|—— test1 用来测试其他的,不用管它

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值