File size: 629 Bytes
9a5a8ff | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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)
# -------- PaddleOCR loader (CPU) --------
@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) |