Page 229 - The Definitive Guide to Building Java Robots
P. 229

Preston_5564C06.fm  Page 210  Friday, September 23, 2005  5:13 AM



                 210    CHAPTER 6  ■  VISION



                                    if (color.equals(Color.BLUE)) {
                                        rgb = new int[] { 255, 255, max };
                                    }
                                    tempColorGram.setMaxs(rgb);
                                    doProcessing(tempColorGram);
                                }
                            }


                            // get ratio of two colors
                            public void optmizeRatio(Color primaryColor, Color secondaryColor) {
                                // get copy of current best colorgram
                                ColorGram tempColorGram = (ColorGram) getBestColorGram().clone();
                                // value of ratio
                                int value = 0;
                                // what color (r,g,b)
                                int column = 0;
                                // what min/max value of component r,g,b
                                int row = 0;
                                // move values from 0 to 255
                                for (value = 0; value < 255; value++) {
                                    if (primaryColor.equals(Color.RED)) {
                                        column = 1;
                                    }
                                    if (primaryColor.equals(Color.GREEN)) {
                                        column = 2;
                                    }
                                    if (primaryColor.equals(Color.BLUE)) {
                                        column = 3;
                                    }
                                    if (secondaryColor.equals(Color.RED)) {
                                        row = 2;
                                    }
                                    if (secondaryColor.equals(Color.GREEN)) {
                                        row = 4;
                                    }
                                    if (secondaryColor.equals(Color.BLUE)) {
                                        row = 6;
                                    }
                                    tempColorGram.setRatio(column, row, -value);
                                    doProcessing(tempColorGram);
                                }
                            }
   224   225   226   227   228   229   230   231   232   233   234