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
sclass ChessOCR_TwoStageRecognizer implements Steppable {
replace Segmenter with IF1>.
// input
BufferedImage inputImage;
Iterator segmenterStream;
L rectQueue = new LinkedList;
ChessPieceRecognizer pieceRecognizer;
// internal
new Set rectsTried;
// output
new Best> best; // rect + FEN
*() {}
*(ChessPieceRecognizer *pieceRecognizer, BufferedImage *inputImage, Iterator *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);
}
}