'commit'
This commit is contained in:
@@ -21,16 +21,27 @@ class EasyOcrKit:
|
||||
:param langs: 识别语言列表
|
||||
:param gpu: 是否使用 GPU
|
||||
"""
|
||||
# 检查是否需要重新初始化(例如从 GPU 切换到 CPU)
|
||||
if self._reader is not None:
|
||||
if hasattr(self, '_using_gpu') and self._using_gpu != gpu:
|
||||
logger.info(f"检测到 GPU 模式变更 ({self._using_gpu} -> {gpu}),重新初始化 Reader...")
|
||||
self._reader = None
|
||||
|
||||
if self._reader is None:
|
||||
try:
|
||||
self._reader = easyocr.Reader(langs, gpu=gpu)
|
||||
self._using_gpu = gpu # 记录当前使用的模式
|
||||
logger.info(f"EasyOCR Reader 初始化成功 (gpu={gpu})")
|
||||
except Exception as e:
|
||||
logger.error(f"EasyOCR Reader 初始化失败: {e}")
|
||||
# 如果 GPU 失败,尝试回退到 CPU
|
||||
if gpu:
|
||||
logger.warning("尝试回退到 CPU 模式...")
|
||||
self._reader = easyocr.Reader(langs, gpu=False)
|
||||
try:
|
||||
self._reader = easyocr.Reader(langs, gpu=False)
|
||||
self._using_gpu = False
|
||||
except Exception as ex:
|
||||
logger.error(f"EasyOCR CPU 模式回退也失败: {ex}")
|
||||
|
||||
def read_text(self, image):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user