33 lines
959 B
Python
33 lines
959 B
Python
# pip install pix2text
|
||
import logging
|
||
import os
|
||
|
||
from pix2text import Pix2Text
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
# 识别图片中的文字及公式
|
||
def pix2text_ocr(OUTPUT_DIR, image_path):
|
||
# 检查目标文件是否已存在
|
||
md_file = os.path.join(OUTPUT_DIR, 'ocr_result.md')
|
||
if os.path.exists(md_file):
|
||
logger.info(f"OCR结果文件已存在,直接返回: {md_file}")
|
||
return md_file
|
||
|
||
# 文件不存在时执行OCR识别
|
||
logger.info(f"开始OCR识别: {image_path}")
|
||
p2t = Pix2Text.from_config()
|
||
outs = p2t.recognize_text_formula(image_path, resized_shape=1024, return_text=True)
|
||
outs = outs.replace('\sb', '')
|
||
|
||
# 确保输出目录存在
|
||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||
|
||
# 保存成文件
|
||
with open(md_file, 'w', encoding='utf-8') as f:
|
||
f.write(outs)
|
||
|
||
logger.info(f"OCR结果已保存到: {md_file}")
|
||
return md_file
|