def extract_sudoku(image, classifier=None, force=False): if classifier is None: classifier = get_default_sudokuextract_classifier() image = np.array(image.convert('L')) for method_name, method in extraction_methods: try: predictions, sudoku_box_images, subimage = method(image, classifier) except SudokuExtractError as e: # Try next method. pass except Exception as e: # Some unknown error. Raise this. raise else: return predictions, sudoku_box_images, subimage if force: return extraction_method_map(image, classifier, force=True, n=1) raise SudokuExtractError("Could not extract any Sudoku from this image.")
def classifier(): return fit.get_default_sudokuextract_classifier()