Code Monkey home page Code Monkey logo

javaverify's Introduction

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

Inertial big drop fall algorithm, libsvm

Introduction:

Recognize the CAPTCHA of some specified websites (http://blog.csdn.net/yinchuandong2/article/details/40340735)

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 用来测试其他的,不用管它

javaverify's People

Watchers

Ancin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.