想从本地图片识别中英文,并保留文字在图片上的位置,可以用 EasyOCR 的 readtext。完整输出包含检测框、文字和置信度,适合先形成复核清单;只导出文字会丢掉回查原图的重要信息。
准备图片和语言模型
使用 Python、EasyOCR 及匹配的 PyTorch 环境。Windows 用户应先按 PyTorch 官方安装方式配置 torch 与 torchvision,再安装 EasyOCR。准备有使用权且不含敏感信息的 sample.png,先选正向、清晰、少量行的图片。

python -m pip install easyocr
下面配置 ch_sim 与 en 表示简体中文和英语。不是任意语言都能放在同一 Reader;繁体文本应对照语言列表调整。首次创建 Reader 默认下载模型,下载时间和磁盘需求以实际环境为准。
保留检测框与识别分数
import json
import easyocr
reader = easyocr.Reader(["ch_sim", "en"], gpu=False)
result = reader.readtext("sample.png", detail=1, paragraph=False)
rows = []
for row_id, (box, text, confidence) in enumerate(result):
rows.append({
"row_id": row_id,
"box": [[float(x), float(y)] for x, y in box],
"text": text,
"confidence": float(confidence),
})
with open("ocr_review.json", "w", encoding="utf-8") as f:
json.dump(rows, f, ensure_ascii=False, indent=2)
print("检测文字块数", len(rows))
for row in rows:
print(row["row_id"], row["text"], round(row["confidence"], 3))
保存为 ocr.py,与图片放同一目录,运行 python ocr.py。此示例未在具体图片上实测;数字、印章、倾斜文本和复杂排版可能产生错误,不能虚构识别率。
怎样检查文字与位置
验证时打开 ocr_review.json,对照原图逐块检查四边形是否指向对应文字、数字是否完整、中文与英文是否混淆。返回零条记录并不表示“图片没有文字”,也可能是文字太小或检测失败。
置信度用于筛查候选,不是整份文件的正确率。可以先把低分块与所有金额、日期、编号都列为人工复核,再统计人工改动;不能仅设一个高分阈值就跳过关键字段。
从失败原因改善输入
下一步先保留原图,尝试只裁出待识别区域或校正旋转,再用相同参数重新识别并比较文字与坐标。图像缩放后坐标属于新图,若要回到原图,必须保留缩放和裁剪变换。
多列页面的返回顺序不一定等于阅读顺序,表格也不会自动成为结构化单元格。需要发票金额汇总或表格重建时,另行设计版面解析和字段校验;本文只完成本地文字块识别与复核输出。
资料与适用版本
以下官方资料核对于 2026 年 10 月 1 日;安装和界面以实际使用版本为准。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30662.html