This commit is contained in:
HuangHai
2026-01-25 15:06:17 +08:00
parent 35654ec166
commit 8292bf83d1
8 changed files with 103 additions and 70 deletions

View File

@@ -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):
"""