LightingTestingTask.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.fire;
  2. import java.awt.Color;
  3. import java.awt.image.BufferedImage;
  4. import java.io.File;
  5. import java.io.IOException;
  6. import javax.imageio.ImageIO;
  7. public class LightingTestingTask {
  8. public static void main(String[] args) {
  9. String fileName = "D://tt.jpg";
  10. LightingTestingTask t = new LightingTestingTask();
  11. t.readImage(fileName);
  12. }
  13. public void readImage(String path) {
  14. try {
  15. // driver.manage().window().maximize();
  16. int[] rgb = new int[3];
  17. BufferedImage img = ImageIO.read(new File(path));
  18. int width = img.getWidth();
  19. int height = img.getHeight();
  20. int minx = img.getMinX();
  21. int miny = img.getMinY();
  22. System.out.println("width=" + width + ",height=" + height + ".");
  23. System.out.println("minx=" + minx + ",miniy=" + miny + ".");
  24. for (int i = minx; i < width; i++) {
  25. for (int j = miny; j < height; j++) {
  26. // System.out.println(i+":"+j);
  27. int w=20;
  28. int h=20;
  29. // if(height-j<=h && width-i>=w) {
  30. // //高度超出图片范围,但是宽度未超出
  31. //
  32. // }else {
  33. // BufferedImage rect = img.getSubimage(i, j, w, h);
  34. // }
  35. int pixel = img.getRGB(i, j); // 下面三行代码将一个数字转换为RGB数字
  36. // Color c = new Color(pixel);
  37. // int r = c.getRed();
  38. // int g = c.getGreen();
  39. // int b = c.getBlue();
  40. // System.out.println(c + "\t红=" + r + "\t绿" + g + "\t蓝" + b);
  41. // int r1 = (pixel >> 16) & 0xFF;
  42. // int g1 = (pixel >> 8) & 0xFF;
  43. // int b1 = (pixel >> 0) & 0xFF;
  44. // System.out.println("红="+r1+"\t绿="+g1+"\t蓝="+b1);
  45. rgb[0] = (pixel & 0xff0000) >> 16;
  46. rgb[1] = (pixel & 0xff00) >> 8;
  47. rgb[2] = (pixel & 0xff);
  48. // if(i==539 && j==569) {
  49. // System.out.println("红="+rgb[0]+"\t绿="+rgb[1]+"\t蓝="+rgb[2]);
  50. // }
  51. if (rgb[0] != 255 || rgb[1] != 255 || rgb[2] != 255) {
  52. //红色判断
  53. if (rgb[0]>=230 && rgb[1] <=150 && rgb[2] <= 178) {
  54. System.out.println("红色i=" + i + ",j=" + j + ":(" + rgb[0] + ","
  55. + rgb[1] + "," + rgb[2] + ")");
  56. } else if (rgb[0] <= 50 && rgb[1] >= 200 && rgb[2] <= 50) {
  57. System.out.println("绿色i=" + i + ",j=" + j + ":(" + rgb[0] + ","
  58. + rgb[1] + "," + rgb[2] + ")");
  59. } else if (rgb[0] <= 50 && rgb[1] <= 50 && rgb[2] >= 200) {
  60. System.out.println("蓝色i=" + i + ",j=" + j + ":(" + rgb[0] + ","
  61. + rgb[1] + "," + rgb[2] + ")");
  62. }else if(rgb[0] >= 250 && rgb[1] <= 228 && rgb[2] <=200) {
  63. System.out.println("黄色i=" + i + ",j=" + j + ":(" + rgb[0] + ","
  64. + rgb[1] + "," + rgb[2] + ")");
  65. }
  66. }
  67. }
  68. }
  69. System.out.println("跑完了...");
  70. } catch (IOException e) {
  71. // TODO Auto-generated catch block
  72. e.printStackTrace();
  73. }
  74. }
  75. }