<progress id="btth9"></progress>
<sub id="btth9"><thead id="btth9"><font id="btth9"></font></thead></sub>

<sub id="btth9"></sub>

      <big id="btth9"></big>

      <progress id="btth9"></progress>

      <big id="btth9"></big>

      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值

        }


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

      日本不卡免费新一区二区三区