using (Py.GIL()) { dynamic example = Py.Import("test4"); if (SelectedFilePath == null) { return; } string image_path = SelectedFilePath; string selected_language = selectedLanguage; string result = example.use_paddleocr(image_path, selected_language); OCRText = result; }
image-20241217122342153
对应的Python代码如下:
import logging from paddleocr import PaddleOCR defuse_paddleocr(image_path,selected_language): # 配置日志级别为 WARNING,这样 DEBUG 和 INFO 级别的日志信息将被隐藏 logging.basicConfig(level=logging.WARNING) # 创建一个自定义的日志处理器,将日志输出到 NullHandler(不输出) classNullHandler(logging.Handler): defemit(self, record): pass # 获取 PaddleOCR 的日志记录器 ppocr_logger = logging.getLogger('ppocr') # 移除所有默认的日志处理器 for handler in ppocr_logger.handlers[:]: ppocr_logger.removeHandler(handler) # 添加自定义的 NullHandler ppocr_logger.addHandler(NullHandler()) ocr = PaddleOCR(use_angle_cls=True, lang=selected_language) # need to run only once to download and load model into memory result = ocr.ocr(image_path, cls=True) result1 = "" for idx in range(len(result)): res = result[idx] for line in res: result1 += line[1][0] return result1