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值

  }


硬件是实在的,有模有样的。软件是程序性的。是一系列的指令。有了软件,硬件才会实现更丰富的功能。