| from functools import lru_cache |
| import easyocr |
|
|
| @lru_cache(maxsize=8) |
| def get_reader(langs: tuple[str, ...] = ("en",)) -> easyocr.Reader: |
| """ |
| EasyOCR reader (CPU). |
| Caches per language tuple for speed. |
| """ |
| return easyocr.Reader(list(langs), gpu=False) |
|
|
| |
| @lru_cache(maxsize=4) |
| def get_paddle_reader(lang: str = "en"): |
| """ |
| PaddleOCR reader (det+rec). 'lang' is a single code, e.g. 'en', 'fr', 'ch'. |
| Assumes paddlepaddle + paddleocr are installed. |
| """ |
| from paddleocr import PaddleOCR |
| return PaddleOCR(use_angle_cls=True, lang=lang, show_log=False) |