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)