Toughen1 commited on
Commit
4f0787e
·
verified ·
1 Parent(s): bced7f3
Files changed (1) hide show
  1. app.py +24 -3
app.py CHANGED
@@ -120,7 +120,8 @@ class PaddleOCRModelManager(object):
120
  def create_model(lang):
121
  # 为中文模型添加特殊参数,提高中文识别准确性
122
  if lang == "ch":
123
- return PaddleOCR(lang=lang, use_angle_cls=True, use_gpu=False, rec_char_dict_path='ppocr/utils/ppocr_keys_v1.txt')
 
124
  else:
125
  return PaddleOCR(lang=lang, use_angle_cls=True, use_gpu=False)
126
 
@@ -246,13 +247,33 @@ def inference(img, return_text_only=True):
246
  # 读取图像用于绘制
247
  pil_img = Image.open(img_path).convert("RGB")
248
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  if return_text_only:
250
  # 仅返回文本
251
  return "\n".join(txts), LANG_MAP.get(lang, lang)
252
  else:
253
  # 返回带标注的图像
254
- im_show = draw_ocr(pil_img, boxes, txts, scores, font_path="./simfang.ttf")
255
- return im_show, "\n".join(txts), LANG_MAP.get(lang, lang)
 
 
 
 
 
256
 
257
  finally:
258
  # 清理临时文件
 
120
  def create_model(lang):
121
  # 为中文模型添加特殊参数,提高中文识别准确性
122
  if lang == "ch":
123
+ # 不指定自定义字典路径,使用PaddleOCR内置的默认字典
124
+ return PaddleOCR(lang=lang, use_angle_cls=True, use_gpu=False)
125
  else:
126
  return PaddleOCR(lang=lang, use_angle_cls=True, use_gpu=False)
127
 
 
247
  # 读取图像用于绘制
248
  pil_img = Image.open(img_path).convert("RGB")
249
 
250
+ # 尝试查找simfang.ttf字体文件
251
+ font_path = "./simfang.ttf"
252
+ if not os.path.exists(font_path):
253
+ # 尝试在其他可能的位置查找
254
+ possible_paths = [
255
+ "./doc/fonts/simfang.ttf",
256
+ "/usr/local/lib/python3.10/site-packages/paddleocr/doc/fonts/simfang.ttf",
257
+ "/usr/local/lib/python3.10/site-packages/paddleocr/ppocr/utils/fonts/simfang.ttf"
258
+ ]
259
+
260
+ for path in possible_paths:
261
+ if os.path.exists(path):
262
+ font_path = path
263
+ break
264
+
265
  if return_text_only:
266
  # 仅返回文本
267
  return "\n".join(txts), LANG_MAP.get(lang, lang)
268
  else:
269
  # 返回带标注的图像
270
+ try:
271
+ im_show = draw_ocr(pil_img, boxes, txts, scores, font_path=font_path)
272
+ return im_show, "\n".join(txts), LANG_MAP.get(lang, lang)
273
+ except Exception as e:
274
+ print(f"绘制OCR结果时出错: {e}")
275
+ # 如果绘制失败,返回原图和文本
276
+ return pil_img, "\n".join(txts), LANG_MAP.get(lang, lang)
277
 
278
  finally:
279
  # 清理临时文件