# 初始化
def __init__(self):
"""
初始化PaddleOCR
"""
# 如果实例已经存在,则抛出异常
if LogicOcr._instance:
raise Exception("只能实例化一次")
# 如果不存在,则新实例化PaddleOCR给这个参数
ocr = PaddleOCR(use_angle_cls=True,
lang="ch",
use_gpu=False,
det_model_dir=self._det_model_dir,
rec_model_dir=self._rec_model_dir,
cls_model_dir=self._cls_model_dir)
LogicOcr._instance = ocr
@classmethod
def get_instance(cls: T) -> T:
"""
如果实例存在则返回实例,如果不存在则new
:return: 实例
"""
# 如果不存在,则实例化
if not cls._instance:
cls()
# 返回实例化后的值
return cls._instance