<address id="rjzdp"></address>
    <sub id="rjzdp"><listing id="rjzdp"><meter id="rjzdp"></meter></listing></sub>

            <address id="rjzdp"><nobr id="rjzdp"><th id="rjzdp"></th></nobr></address>

            <em id="rjzdp"><span id="rjzdp"></span></em>

                  win7系統下載
                  當前位置: 首頁 > 硬件軟件教程 > 詳細頁面

                  高手支招:12306驗證碼識別知多少

                  發布時間:2022-03-05 文章來源:xp下載站 瀏覽:

                  軟件是一系列按照特定順序組織的計算機數據和指令的集合。一般來講軟件被劃分為編程語言、系統軟件、應用軟件和介于這兩者之間的中間件。硬件是“計算機硬件”的簡稱。與“軟件”相對,電子計算機系統中所有實體部件和設備的統稱。

                    在春運購票漸入高峰的時候,搶票插件也是不斷地攻防12306戰線。12306近日不斷對購票系統進行防護,昨日,對驗證碼進行了升級,遭到不少用戶的調侃為“干擾線”,而對于12306驗證碼,大家又有多少常識。

                  驗證碼
                  驗證碼

                         驗證碼代碼一:

                    package org.image.test.one;

                    import java.awt.Image;

                    import java.awt.Toolkit;

                    import java.awt.color.ColorSpace;

                    import java.awt.geom.AffineTransform;

                    import java.awt.image.AffineTransformOp;

                    import java.awt.image.BufferedImage;

                    import java.awt.image.ColorConvertOp;

                    import java.awt.image.ColorModel;

                    import java.awt.image.ConvolveOp;

                    import java.awt.image.Kernel;

                    import java.awt.image.MemoryImageSource;

                    import java.awt.image.PixelGrabber;

                    import java.awt.image.RescaleOp;

                    import java.io.File;

                    import java.io.FileInputStream;

                    import java.io.IOException;

                    import javax.imageio.ImageIO;

                    public class MyImgFilter {

                    BufferedImage image;

                    private int iw, ih;

                    private int[] pixels;

                    public MyImgFilter(BufferedImage image) {

                    this.image = image;

                    iw = image.getWidth();

                    ih = image.getHeight();

                    pixels = new int[iw * ih];

                    }

                    /** 圖像二值化 */

                    public BufferedImage changeGrey() {

                    PixelGrabber pg = new PixelGrabber(image.getSource(), 0, 0, iw, ih, pixels, 0, iw);

                    try {

                    pg.grabPixels();

                    } catch (InterruptedException e) {

                    e.printStackTrace();

                    }

                    // 設定二值化的域值,默認值為100

                    int grey = 100;

                    // 對圖像進行二值化處理,Alpha值保持不變

                    ColorModel cm = ColorModel.getRGBdefault();

                    for (int i = 0; i < iw * ih; i++) {

                    int red, green, blue;

                    int alpha = cm.getAlpha(pixels[i]);

                    if (cm.getRed(pixels[i]) > grey) {

                    red = 255;

                    } else {

                    red = 0;

                    }

                    if (cm.getGreen(pixels[i]) > grey) {

                    green = 255;

                    } else {

                    green = 0;

                    }

                    if (cm.getBlue(pixels[i]) > grey) {

                    blue = 255;

                    } else {

                    blue = 0;

                    }

                    pixels[i] = alpha << 24 | red << 16 | green << 8 | blue; // 通過移位重新構成某一點像素的RGB值

                    }


                  硬件是實在的,有模有樣的。軟件是程序性的。是一系列的指令。有了軟件,硬件才會實現更豐富的功能。

                  国产色视频网免费_亚洲精品无码人妻无码_麻豆床传媒_国产在线无码视频一区二区三区

                    <address id="rjzdp"></address>
                    <sub id="rjzdp"><listing id="rjzdp"><meter id="rjzdp"></meter></listing></sub>

                            <address id="rjzdp"><nobr id="rjzdp"><th id="rjzdp"></th></nobr></address>

                            <em id="rjzdp"><span id="rjzdp"></span></em>

                                  >