|
|
@@ -90,7 +90,7 @@ def normalize_markdown_table(markdown_content: str) -> str:
|
|
|
# 返回更新后的HTML
|
|
|
return str(soup)
|
|
|
|
|
|
-def ocr_with_vlm(image_path, output_dir="./",
|
|
|
+def ocr_with_vlm(image_path, output_dir="./output",
|
|
|
api_key=None, api_base=None, model_id=None,
|
|
|
temperature=0.1, max_tokens=4096, timeout=180,
|
|
|
normalize_numbers=True):
|
|
|
@@ -220,9 +220,9 @@ def ocr_with_vlm(image_path, output_dir="./",
|
|
|
original_text = generated_text
|
|
|
if normalize_numbers:
|
|
|
print("🔧 正在标准化数字格式...")
|
|
|
- generated_text = normalize_financial_numbers(generated_text)
|
|
|
- # 不用再调用表格标准化,避免重复处理
|
|
|
- # generated_text = normalize_markdown_table(generated_text)
|
|
|
+ # generated_text = normalize_financial_numbers(generated_text)
|
|
|
+ # 只对Markdown表格进行数字标准化
|
|
|
+ generated_text = normalize_markdown_table(generated_text)
|
|
|
|
|
|
# 统计标准化的变化
|
|
|
changes_count = len([1 for o, n in zip(original_text, generated_text) if o != n])
|
|
|
@@ -355,7 +355,7 @@ if __name__ == "__main__":
|
|
|
|
|
|
parser = argparse.ArgumentParser(description='VLM OCR识别工具')
|
|
|
parser.add_argument('image_path', nargs='?', help='图片文件路径')
|
|
|
- parser.add_argument('-o', '--output', default='./', help='输出目录')
|
|
|
+ parser.add_argument('-o', '--output', default='./output', help='输出目录')
|
|
|
parser.add_argument('-t', '--temperature', type=float, default=0.1, help='生成温度')
|
|
|
parser.add_argument('-m', '--max-tokens', type=int, default=4096, help='最大token数')
|
|
|
parser.add_argument('--timeout', type=int, default=180, help='超时时间(秒)')
|
|
|
@@ -383,7 +383,7 @@ if __name__ == "__main__":
|
|
|
print(f"❌ OCR识别失败: {e}")
|
|
|
else:
|
|
|
# 默认示例
|
|
|
- image_path = "至远彩色印刷工业有限公司-2022年母公司_2.png"
|
|
|
+ image_path = "sample_data/至远彩色印刷工业有限公司-2022年母公司_2.png"
|
|
|
try:
|
|
|
result = ocr_with_vlm(image_path)
|
|
|
print("\n🎉 OCR识别完成!")
|