// RIGHT(-1, 0), LEFT_DOWN(\r
// +1, +1), DOWN(0, +1), RIGHT_DOWN(-1, +1);\r
\r
- private static final Deviation LEFT_UP = new Deviation("NONE", +1, -1);\r
+ private static final Deviation LEFT_UP = new Deviation("LEFT_UP", +1, -1);\r
private static final Deviation UP = new Deviation("UP", 0, -1);\r
private static final Deviation RIGHT_UP = new Deviation("RIGHT_UP", -1, -1);\r
private static final Deviation LEFT = new Deviation("LEFT", +1, 0);\r
private static final Deviation NONE = new Deviation("NONE", 0, 0);\r
- private static final Deviation RIGHT = new Deviation("NONE", -1, 0);\r
- private static final Deviation LEFT_DOWN = new Deviation("NONE", +1, +1);\r
- private static final Deviation DOWN = new Deviation("NONE", 0, +1);\r
- private static final Deviation RIGHT_DOWN = new Deviation("NONE", -1, +1);\r
+ private static final Deviation RIGHT = new Deviation("RIGHT", -1, 0);\r
+ private static final Deviation LEFT_DOWN = new Deviation("LEFT_DOWN", +1, +1);\r
+ private static final Deviation DOWN = new Deviation("DOWN", 0, +1);\r
+ private static final Deviation RIGHT_DOWN = new Deviation("RIGHT_DOWN", -1, +1);\r
\r
private int size;\r
\r
\r
public void addEyePosition(EyePosition eyePosition) {\r
\r
- for (int i = eyePositions.length - 2; i >= 0; i--) {\r
- eyePositions[i + 1] = eyePositions[i];\r
+ for (int i = 1; i < eyePositions.length; i++) {\r
+ eyePositions[i - 1] = eyePositions[i];\r
}\r
- eyePositions[0] = eyePosition;\r
+ eyePositions[eyePositions.length - 1] = eyePosition;\r
\r
if (size < eyePositions.length) {\r
size++;\r
EyePosition lastEyePosition = null;\r
for (int i = 0; i < 3; ++i) {\r
EyePosition eyePosition = this.eyePositions[i];\r
- System.out.println("lastEyePosition=" + lastEyePosition);\r
if (lastEyePosition != null) {\r
deviationX += (eyePosition.getX() - lastEyePosition.getX());\r
deviationY += (eyePosition.getY() - lastEyePosition.getY());\r
deviationAbsoluteY = -1;\r
\r
deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY);\r
+\r
if (deviation != NONE) {\r
eyePositions = new EyePosition[3];\r
size = 0;\r
public void doRun() {
- int maxCount = 1;
+ int maxCount = 37;
int i = 0;
ImageReader reader = new ImageReader();
while (i < maxCount) {
- Image image = reader.readImage("data/e" + i + ".bmp");
+ Image image = reader.readImage("data/b" + i + ".bmp");
i++;
if (image == null) {
break;
deviationScanner.addEyePosition(positions.getEyePosition());
Deviation deviation = deviationScanner.scanForDeviation(positions.getFacePosition());// positions.getEyePosition().getDeviation(lastPositions.getEyePosition());
if (deviation != DeviationScanner.NONE) {
- System.out.println("DEVICATION=" + deviation);
+ System.out.println("deviation=" + deviation);
// notifyEyeMovementListenerEyeMoved(deviation);
}
}
return null;
Rectangle2D faceRect = classifierTree.locateFaceRadial(image, lastRectangle);
- System.out.println("FACE RECT=" + faceRect);
EyePosition eyePosition = null;
if (faceRect != null) {
-
lastRectangle = faceRect;
Point point = readEyes(image, faceRect);
if (point != null) {
eyePosition = new EyePosition(point, faceRect);
}
}
- System.out.println("eyePosition="+eyePosition);
-
+ System.out.println("eyePosition=" + eyePosition);
+
return new FaceAndEyePosition(faceRect, eyePosition);
}
classifierTree = new ClassifierTree();
int numClassifier = Integer.parseInt(inputFile.readLine());
- System.out.println("numClassifier=" + numClassifier);
for (int c = 0; c < numClassifier; c++) {
int numArea = Integer.parseInt(inputFile.readLine());