package com.fire; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class LightingTestingTask { public static void main(String[] args) { String fileName = "D://tt.jpg"; LightingTestingTask t = new LightingTestingTask(); t.readImage(fileName); } public void readImage(String path) { try { // driver.manage().window().maximize(); int[] rgb = new int[3]; BufferedImage img = ImageIO.read(new File(path)); int width = img.getWidth(); int height = img.getHeight(); int minx = img.getMinX(); int miny = img.getMinY(); System.out.println("width=" + width + ",height=" + height + "."); System.out.println("minx=" + minx + ",miniy=" + miny + "."); for (int i = minx; i < width; i++) { for (int j = miny; j < height; j++) { // System.out.println(i+":"+j); int w=20; int h=20; // if(height-j<=h && width-i>=w) { // //高度超出图片范围,但是宽度未超出 // // }else { // BufferedImage rect = img.getSubimage(i, j, w, h); // } int pixel = img.getRGB(i, j); // 下面三行代码将一个数字转换为RGB数字 // Color c = new Color(pixel); // int r = c.getRed(); // int g = c.getGreen(); // int b = c.getBlue(); // System.out.println(c + "\t红=" + r + "\t绿" + g + "\t蓝" + b); // int r1 = (pixel >> 16) & 0xFF; // int g1 = (pixel >> 8) & 0xFF; // int b1 = (pixel >> 0) & 0xFF; // System.out.println("红="+r1+"\t绿="+g1+"\t蓝="+b1); rgb[0] = (pixel & 0xff0000) >> 16; rgb[1] = (pixel & 0xff00) >> 8; rgb[2] = (pixel & 0xff); // if(i==539 && j==569) { // System.out.println("红="+rgb[0]+"\t绿="+rgb[1]+"\t蓝="+rgb[2]); // } if (rgb[0] != 255 || rgb[1] != 255 || rgb[2] != 255) { //红色判断 if (rgb[0]>=230 && rgb[1] <=150 && rgb[2] <= 178) { System.out.println("红色i=" + i + ",j=" + j + ":(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")"); } else if (rgb[0] <= 50 && rgb[1] >= 200 && rgb[2] <= 50) { System.out.println("绿色i=" + i + ",j=" + j + ":(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")"); } else if (rgb[0] <= 50 && rgb[1] <= 50 && rgb[2] >= 200) { System.out.println("蓝色i=" + i + ",j=" + j + ":(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")"); }else if(rgb[0] >= 250 && rgb[1] <= 228 && rgb[2] <=200) { System.out.println("黄色i=" + i + ",j=" + j + ":(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")"); } } } } System.out.println("跑完了..."); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }