Warning: session_start(): open(/var/lib/php/sessions/sess_eje7v9guajb1s7b9k8sq64ie13, 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
// type parameter is rect + FEN
sclass ChessOCR_TwoStageRecognizer extends SteppableAndBest> {
replace Segmenter with IF1>.
// input
BufferedImage inputImage;
Iterator extends Segmenter> segmenterStream;
L rectQueue = new LinkedList;
ChessPieceRecognizer pieceRecognizer;
// internal
new Set rectsTried;
*() {}
*(ChessPieceRecognizer *pieceRecognizer, BufferedImage *inputImage, Iterator extends Segmenter> *segmenterStream) {}
public bool step() {
if (nempty(rectQueue))
ret true with tryRect(popFirst(rectQueue));
if (segmenterStream.hasNext())
ret true with addAll(rectQueue, segmenterStream.next().get(inputImage));
false;
}
void tryRect(Rect r) {
r = rectSetHeightToWidth(r); // square it
if (!rectsTried.add(r)) ret; // seen
BufferedImage board = clipBufferedImage(inputImage, r);
S fen, double score = unpair chessOCR_recognizeBoard_FENAndScore(board, pieceRecognizer);
best.put(pair(r, fen), score);
}
void verbose(bool verbose) {
best.verboseNewBest = verbose;
}
}