發(fā)布時(shí)間:2022-03-05 文章來源:xp下載站 瀏覽:
軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般來講軟件被劃分為編程語言、系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。硬件是“計(jì)算機(jī)硬件”的簡(jiǎn)稱。與“軟件”相對(duì),電子計(jì)算機(jī)系統(tǒng)中所有實(shí)體部件和設(shè)備的統(tǒng)稱。 在春運(yùn)購票漸入高峰的時(shí)候,搶票插件也是不斷地攻防12306戰(zhàn)線。12306近日不斷對(duì)購票系統(tǒng)進(jìn)行防護(hù),昨日,對(duì)驗(yàn)證碼進(jìn)行了升級(jí),遭到不少用戶的調(diào)侃為“干擾線”,而對(duì)于12306驗(yàn)證碼,大家又有多少常識(shí)。
驗(yàn)證碼代碼一: 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(); } // 設(shè)定二值化的域值,默認(rèn)值為100 int grey = 100; // 對(duì)圖像進(jìn)行二值化處理,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; // 通過移位重新構(gòu)成某一點(diǎn)像素的RGB值 } 硬件是實(shí)在的,有模有樣的。軟件是程序性的。是一系列的指令。有了軟件,硬件才會(huì)實(shí)現(xiàn)更豐富的功能。 |