import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; public class FindSkin extends PixelOperater { int[] backgroundPixelArray; float redLower = .35f; float redUpper = .55f; float greenLower = .26f; float greenUpper = .35f; FindSkin() { super(); setTitle("FindSkin"); } public static void main(String[] args) { FindSkin fs = new FindSkin(); fs.startVideo(); } public void performPixelOp(int _x, int _y) { int[] rgb = ps.getPixel(_x, _y); float total = rgb[1] + rgb[2] + rgb[3]; float normalizedRed = rgb[1] / total; float normalizedGreen = rgb[2] / total; if (normalizedRed < redUpper && normalizedRed > redLower && normalizedGreen < greenUpper && normalizedGreen > greenLower) { ps.setPixel(_x, _y, 255, 0, 0, 0); } } public void keyPressed(KeyEvent keyEvent) { String keyString = KeyEvent.getKeyText(keyEvent.getKeyCode()); // change if (keyString.equals("Up")) { // use arrow keys to adjust a redUpper = redUpper + .01f; redLower = redLower + .01f; } else if (keyString.equals("Down")) { redUpper = redUpper - .01f; redLower = redLower - .01f; } else if (keyString.equals("Right")) { // use arrow keys to adjust a greenUpper = greenUpper + .01f; greenLower = greenLower + .01f; // variable } else if (keyString.equals("Left")) { greenUpper = greenUpper - .01f; greenLower = greenLower - .01f; } else { super.keyPressed(keyEvent); } } }