1、先来看看效果:
原图
除去干扰像素后
2、解析代码:
1)、读取文件夹里面的图片
1 String fileName = "picture"; 2 BufferedImage img = ImageIO.read(new File("img//"+fileName+".jpg"));
2)、获取图片的宽度和高度
1 int width = img.getWidth(); 2 int height = img.getHeight();
3)、循环执行除去干扰像素
1 for(int i = 1;i < width;i++){ 2 Color colorFirst = new Color(img.getRGB(i, 1)); 3 int numFirstGet = colorFirst.getRed()+colorFirst.getGreen()+colorFirst.getBlue(); 4 for (int x = 0; x < width; x++) 5 { 6 for (int y = 0; y < height; y++) 7 { 8 Color color = new Color(img.getRGB(x, y)); 9 System.out.println("red:"+color.getRed()+" | green:"+color.getGreen()+" | blue:"+color.getBlue()); 10 int num = color.getRed()+color.getGreen()+color.getBlue(); 11 if(num >= numFirstGet){ 12 img.setRGB(x, y, Color.WHITE.getRGB()); 13 } 14 } 15 } 16}
4)、图片背景变黑,验证码变白色
1 for(int i = 1;i<width;i++){ 2 Color color1 = new