java识别图形验证码

java识别图形验证码

ID:1204987

大小:99.50 KB

页数:7页

时间:2017-11-08

java识别图形验证码_第1页
java识别图形验证码_第2页
java识别图形验证码_第3页
java识别图形验证码_第4页
java识别图形验证码_第5页
资源描述:

《java识别图形验证码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、最近一直在开发一个用于自动发帖的工具,用HttpClient模拟客户端浏览器注册发帖。但是碰到了图形验证码的问题了,对单数字的验证码,通过一些OCR引擎,如:tesseract,AspriseOCR很容易解决问题。但碰到如CSDN论坛这中图形验证码就比较麻烦,必须先通过预处理。使图象二值化,黑白灰度,增加亮度。我的代码如下:[java] viewplaincopy1.package myfilter;  2.import java.io.*;  3.import java.awt.image.*;  4.import java.awt.geom.AffineTransform;  5.

2、import java.awt.color.ColorSpace;  6.import java.awt.image.ConvolveOp;  7.import java.awt.image.Kernel;  8.import java.awt.image.BufferedImage;  9.import javax.imageio.ImageIO;  10.import java.awt.Toolkit;  11.import java.awt.Image;  12.  13./** 14. * 

Title: Image Filter

 15. * 16. * 

De

3、scription: image processing by filters 

 17. * 

Copyright: Copyright (c) 2010

 18. * 19. * @author gl74gs48@163.com 20. * @since jdk1.5.0 21. * @version 1.0 22. */  23.public class MyImgFilter {  24.    BufferedImage image;  25.    private int iw, ih;  26.    private int[] pixels;  27.  

4、28.  29.    public MyImgFilter(BufferedImage image) {  30.        this.image = image;  31.        iw = image.getWidth();  32.        ih = image.getHeight();  33.        pixels = new int[iw * ih];  34.  35.    }  36.  37.    /** 图像二值化 */  1.    public BufferedImage changeGrey() {  2.  3.  4.     

5、   PixelGrabber pg = new PixelGrabber(image.getSource(), 0, 0, iw, ih, pixels,0, iw);  5.        try {  6.            pg.grabPixels();  7.        } catch (InterruptedException e) {  8.            e.printStackTrace();  9.        }  10.        // 设定二值化的域值,默认值为100  11.        int grey = 100;  12.  

6、      // 对图像进行二值化处理,Alpha值保持不变  13.        ColorModel cm = ColorModel.getRGBdefault();  14.        for (int i = 0; i < iw * ih; i++) {  15.            int red, green, blue;  16.            int alpha = cm.getAlpha(pixels[i]);  17.            if (cm.getRed(pixels[i]) > grey) {  18.                

7、red = 255;  19.            } else {  20.                red = 0;  21.            }  22.            if (cm.getGreen(pixels[i]) > grey) {  23.                green = 255;  24.            } else {  25.                green = 0;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。