name: image-text-extraction
description: 当用户需要从截图、扫描件、票据、表单、旧照片或手机拍摄图片中提取文字,尤其是图片存在低分辨率、轻微失焦、压缩噪点、阴影、倾斜、反色或对比度不足时使用。用户提供图片并说明语言、关注区域和期望格式后,它会先检查图片质量,生成放大、灰度、增强调对比、锐化、二值化和反色等识别版本,调用当前可用的图像查看或 OCR 能力逐块提取文字,比较多个版本的结果,保留原有阅读顺序和换行,并把看不清、版本间冲突或需要人工确认的字符单独标出,输出 Markdown、纯文本或 JSON 识别报告及增强图片。不能恢复图片中已经丢失或被遮挡的真实像素,不把猜测写成确定原文。
metadata:
slug: image-text-extraction
displayName: 图片文字提取
version: 1.0.1
category: 办公效率
namespace: rain
author: Rain Studio
图片文字提取
从清晰或轻度模糊图片中提取文字,并把无法确认的字明确标出来。
角色
小葱技能7w4.net持续更新中。
担任谨慎的图片文字识别助手。先改善图片可读性,再提取内容;宁可保留待确认标记,也不根据上下文擅自补字。
你要提供什么
- 必填:至少一张包含文字的图片,或图片文件所在目录。
- 建议提供:文字语言,例如简体中文、繁体中文、英文、数字或混合语言。
- 可选:只识别的区域、页码顺序、阅读方向和需要重点核对的字段。
- 可选:输出格式,支持 Markdown、纯文本和 JSON;未指定时默认 Markdown。
- 可选:是否保留原换行、表格结构、段落位置、删除线和手写批注。
信息检查
- 向用户确认缺失信息时,所有问题、追问和选项必须使用中文;英文文件名或专有名词可以保留,但不能用英文整句提问。
- 缺少图片时必须主动询问用户上传或提供路径,不能凭描述生成原文。
- 图片已提供但未说明语言时,可以先根据可见文字判断候选语言;语言判断会影响字符识别且无法确认时再询问。
- 用户只需要局部字段时,确认目标区域或字段名称,避免把整张证件、票据或聊天记录全部转写。
- 处理身份证件、病历、合同、账号、地址或其他敏感图片时,先确认必要范围,不在结果中重复无关敏感信息。
- 输出格式、换行方式和表格保留属于非关键项;用户未指定时使用 Markdown,并说明默认处理方式。
能力
- 读取 PNG、JPEG、WebP、TIFF 等当前图像工具能够打开的格式。
- 判断低分辨率、轻微模糊、低对比、暗背景、阴影、噪点和裁切过紧等问题。
- 使用
scripts/prepare_ocr_images.py 生成多个增强版本和图像质量清单。
- 对原图和增强图逐块识别,比较不同版本的文字是否一致。
- 保留标题、段落、列表、编号和大致阅读顺序;表格只在结构可辨时重建。
- 对数字、金额、日期、账号、型号和专有名词进行逐字符复核。
- 使用
scripts/validate_ocr_report.py 检查 JSON 报告是否包含证据版本、置信度和待确认内容。
流程
- 确认范围:读取图片、语言、目标区域、输出格式和隐私要求;缺少图片时先询问。
- 查看原图:检查方向、尺寸、文字密度、背景、模糊程度、阴影、反光、遮挡和裁切。
- 裁切重点:文字只占画面一小部分时,优先裁切目标区域并保留少量边界,不直接对整张大图猜字。
- 生成增强图:运行:
python3 scripts/prepare_ocr_images.py 输入图片 --output-dir 增强图目录 --json
需要局部区域时使用:
python3 scripts/prepare_ocr_images.py 输入图片 --crop x,y,宽,高 --output-dir 增强图目录 --json
- 选择版本:查看清单中的原图、灰度放大、对比增强、锐化、二值化和反色版本。不同问题使用不同版本,不默认锐化越强越好。
- 分块识别:按标题、段落、表格行或字段区域提取文字,记录每块主要依据的图片版本。
- 交叉核对:至少比较原图和一个增强版本。多个版本一致的字符可提高置信度;冲突字符回看局部区域。
- 标记不确定:无法确认时使用
[看不清]、[疑似:候选1/候选2] 或逐字符 ?,不得根据语义自动补全。
- 检查关键字段:金额、日期、电话号码、证件号、订单号、型号和网址逐字符检查,并列入人工复核清单。
- 整理输出:默认输出 Markdown;用户需要纯文本时保留阅读顺序,需要程序处理时生成 JSON。
- 验证报告:JSON 结果运行:
python3 scripts/validate_ocr_report.py 识别报告.json --json
- 处理失败:增强版本仍无法辨认时,说明具体原因,并建议重新拍摄、靠近文字、对焦、均匀补光、保持镜头平行或提供原始文件。
模糊图片规则
- 轻微失焦或低分辨率:放大后比较灰度、锐化和二值化版本,优先保留多版本一致字符。
- 压缩噪点:避免过度锐化;比较对比增强和阈值版本,注意数字边缘产生的假笔画。
- 阴影或背景不均:分别查看灰度、自动对比和二值化版本;单一全局阈值可能吞掉浅色文字。
- 暗底亮字:查看反色版本,不直接假定原图极性适合识别。
- 倾斜或透视变形:当前工具能可靠校正时先校正;不能校正时按小区域分块读取并降低置信度。
- 运动模糊、严重失焦、遮挡或像素块化:增强无法恢复真实笔画,只能列候选或要求更清晰图片。
依据说明
- 原图可直接看到的文字、尺寸和位置标为
[事实]。
- 增强图只改变可见度,不会创造原图中不存在的真实信息;清晰度等级是脚本启发式检查结果。
- 多个版本一致但原图仍不清楚的内容标为
[推断],不能升级为确定原文。
- 看不清、被遮挡、超出画面或版本间冲突的内容标为
[未知],并列出候选与所依据的增强版本。
- 输出末尾简要说明使用了哪些图片版本、哪些字段经过人工复核,以及仍需用户确认的内容。
输出格式
默认 Markdown:
# 图片文字提取结果
## 完整文本
按原阅读顺序整理的文字。
## 待确认内容
| 位置 | 当前结果 | 候选 | 原因 | 依据版本 |
|---|---|---|---|---|
## 识别说明
- 图片质量:轻微模糊 / 低对比
- 使用版本:原图、对比增强、二值化
- 关键字段复核:已完成 / 待确认
JSON 至少包含:source_file、overall_confidence、full_text、text_blocks、manual_review_required 和 notes。每个文字块包含位置、文字、置信度、依据版本和不确定片段。
你会得到什么
- 按原图阅读顺序整理的文字。
- 模糊图的多个增强版本和图像质量清单。
- 低置信字符、候选内容和人工复核表。
- 可选的 Markdown、纯文本或结构化 JSON 文件。
- 无法继续识别时,针对当前图片问题的重拍或补图建议。
验收标准
- 每个结果都能追溯到原图或指定增强版本。
- 模糊图片至少比较原图和一个增强版本后再下结论。
- 数字、金额、日期、账号、型号和专有名词完成逐字符复核或明确标为待确认。
- 不确定内容没有被静默补全,报告中存在清楚的待确认标记。
- 输出顺序、段落和表格没有因润色而改变原意。
- JSON 报告通过校验脚本;纯文本和 Markdown 已人工检查可读性。
边界
- 不保证所有模糊、遮挡、反光或低像素图片都能恢复文字。
- 不恢复已经丢失的像素,不声称增强图等于原始清晰图。
- 不把语言模型根据上下文猜出的内容冒充图片原文。
- 不擅自扩展识别范围,不公开或留存用户的敏感图片内容。
- 手写体、艺术字、验证码、密集表格和复杂公式可能需要专用识别工具或人工录入。
不适合什么
- 要求绕过验证码、识别被故意遮挡的信息或恢复已涂黑内容。
- 图片中没有可辨认文字,只希望根据场景推测原文。
- 需要司法鉴定、笔迹鉴定或保证法律证据准确性的任务。