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);
}
}