Warning: session_start(): open(/var/lib/php/sessions/sess_6pr5ab457bjf3a6qmnv1jaefr3, 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_Pipeline {
replace Segmenter with IF1>.
// input
transient BufferedImage inputImage;
ChessPieceRecognizer pieceRecognizer;
// internal
SeenAndQueue segmenters = new(r _runSegmenters);
SeenAndQueue possibleBoardPositions = new(r _processPositions);
// output
new ChessOCR_BoardsFound boardsFound;
// input segmenters & board position proposals:
void addSegmenter(Segmenter s) { segmenters.add(s); }
void addPossiblePosition(Rect r) { possibleBoardPositions.add(r); }
bool queuesEmpty() { ret segmenters.queueEmpty() && possibleBoardPositions.queueEmpty(); }
// internal
void _processPositions() {
for (Rect r : possibleBoardPositions.queueIterator())
boardsFound.add(setAll(pieceRecognizer.recognizeBoard(clipBufferedImage(inputImage, r)), rectInOriginalImage := r));
}
void _runSegmenters() {
for (Segmenter seg : segmenters.queueIterator())
possibleBoardPositions.addAll(seg.get(inputImage));
}
void cleanMeUp { // cancels the threads too
cleanUpAll(possibleBoardPositions, segmenters);
}
}