Warning: session_start(): open(/var/lib/php/sessions/sess_o4gd7u60km05jfoarmc5g0g4ml, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
static int width = 8;
p-exp {
L images = markedFaces_scaledToWidth(width);
int h = first(images).image.w();
new Best best;
for (int y1 = 0; y1 < h; y1++)
for (int y2 = y1+1; y2 <= h; y2++)
for (int deltaX1 = -3; deltaX1 <= 0; deltaX1++)
for (int deltaX2 = deltaX1+1; deltaX2 <= 3; deltaX2++) {
Recognizer recognizer = nu(Recognizer, +y1, +y2, +deltaX1, +deltaX2);
new Scorer scorer;
double tolerance = width/2.0;
for (RGBImageAndRect i : images) {
Rect guessed = recognizer.get(i.image);
//print(i.rect + " - " + guessed);
video_scoreRect_x(scorer, i.rect, guessed, tolerance);
}
print(sfu(recognizer) + " => " + scorer);
best.put(recognizer, scorer!);
}
print(best);
}
sclass Recognizer extends F1 {
int y1, y2, deltaX1, deltaX2;
public Rect get(RGBImage img) {
//print(f2s(img.file));
RGBImage img2 = rgbClipLineRange(img, y1, y2);
float[] f = rgbImageColumnBrightnesses(img2);
//printStruct(f);
int x = indexOfSmallestFloat(f);
ret rectFromPoints(x+deltaX1, y1, x+deltaX2, y2);
}
toString { ret sfu(this); }
}