Claude 3 图像文本转录指南:把截图、手写笔记和表单照片转成可编辑文本

Claude 3 图像文本转录指南:把截图、手写笔记和表单照片转成可编辑文本 Claude 3 图像文本转录指南把截图、手写笔记和表单照片转成可编辑文本【免费下载链接】claude-cookbooksA collection of notebooks/recipes showcasing some fun and effective ways of using Claude.项目地址: https://gitcode.com/GitHub_Trending/an/claude-cookbooks上周有人在会议里拍了一张白板照片想留档。丢进传统 OCR 引擎跑完表格的列错位了手写批注变成乱码代码的缩进也全没了。问题不在 OCR 引擎本身而在于它只会认字不会理解你想要图里的哪一部分、以什么形式给你。这正是 Claude 图像文本转录要解决的场景。claude-cookbooks 项目在 multimodal/how_to_transcribe_text.ipynb 里给了一个可以逐格运行的最小示例本文基于它整理成一份跟做教程。这个 notebook 演示了四类任务从截图中只提取指定区域比如一段代码转录手写文字课堂笔记、处方笺转录印刷体与手写混合的表单对文档图片直接提问或者把图表转成 JSON下面这张财报幻灯片就是典型的输入文字、数字、表格混排传统 OCR 拿到它只能吐出一串无结构的字符流。为什么让视觉语言模型来干转录这件事传统 OCR 的工作是逐字符识别输出顺序基本由版面坐标决定。它无法回答只要回答区的代码把这张图里的汇报关系变成 JSON这类问题——你拿到结果后还得自己写解析代码。视觉语言模型的做法不同它把整张图作为一次理解对象再由你用一句话说明目标。这带来几个实际差别。第一区域提取变成自然语言指令你可以在提示词里写只转录回答部分的代码只输出代码不需要预先裁剪图片。第二格式保留不再依赖版式解析器缩进、列表、表格结构可以按你的要求原样或变形输出。第三手写、低分辨率、混合排版的脏输入也能处理因为模型靠的是语义理解加字形识别而不是模板匹配。第四输出可以直接要求成 JSON、Markdown 表格等结构化形式省去后处理。代价则是这类调用比纯 OCR 贵、慢且准确率随图像质量波动——文末会专门谈边界。最短路径跑通先装依赖只有两个包%pip install anthropic然后是初始化客户端和一个 base64 编码函数这是把本地图片塞进 API 请求的标准方式import base64 from anthropic import Anthropic client Anthropic() MODEL_NAME claude-opus-4-1 def get_base64_encoded_image(image_path): with open(image_path, rb) as f: return base64.b64encode(f.read()).decode(utf-8)get_base64_encoded_image只干一件事读文件、转 base64。MODEL_NAME用 notebook 同款即可任何支持视觉输入的 Claude 模型都能替换。接着是一次完整的 API 调用把图片和一句指令一起发出去response client.messages.create( modelMODEL_NAME, max_tokens2048, messages[{ role: user, content: [ {type: image, source: { type: base64, media_type: image/jpeg, data: get_base64_encoded_image(your_image.jpg)}}, {type: text, text: Transcribe this table as a Markdown table.}, ], }], ) print(response.content[0].text)这一段就是全部核心逻辑content里第一项是图片第二项是文字指令media_type要和图片实际格式一致image/png或image/jpeg。跑通后你会看到一张表格被完整转成 Markdown——这就是后面所有示例的骨架。实战从截图代码到图表 JSON如何只提取截图中的代码块问题一张问答平台截图里混着标题、描述、代码OCR 会把所有文字一锅端。做法不裁剪图片直接在提示词里圈定目标区域。notebook 里对应的输入是images/transcribe/stack_overflow.png提示词只有一句Transcribe the code in the answer. Only output the code.输出说明模型返回的是一段干净代码不带截图中其余的干扰文字。Only output the code 这半句很关键它压掉了模型想附带的解释性前言详见下节的经验。如何转录手写与印刷体混合的表单问题保险单、登记表这类文档常见印刷模板加手写填写纯 OCR 对手写部分的识别率往往断崖式下跌。做法notebook 用images/transcribe/vehicle_form.jpg演示了这类场景同类样本还有课堂笔记images/transcribe/school_notes.png提示词同样简单Transcribe this form exactly.输出说明模型按表单的字段顺序输出字段名 填写值手写部分也会给出识别结果。exactly 的作用是要求逐字保留不概括、不纠错。处理手写内容时建议把结果当草稿重要字段仍需人工核对。如何把一张图直接转成 JSON问题组织架构图、流程图这类图文字只是载体结构才是信息。OCR 拿到它基本无解。做法给模型一张图加一个明确的 schema 意图。notebook 用的输入是images/transcribe/org_chart.jpeg提示词Turn this org chart into JSON indicating who reports to who. Only output the JSON and nothing else.输出说明返回的是可直接json.loads的结构汇报关系被建模成嵌套字段。这一步的价值在于省掉了OCR → 自写解析器的中间层——图到结构化数据一次完成。调优经验与避坑几条来自实际试错的建议提示词加只输出约束。视觉模型默认有解释欲转录类任务几乎都要在指令里加上 Only output the X and nothing else否则输出里会混入以下是转录结果之类的前言下游解析会踩坑。用描述性语言指定区域而不是坐标。Claude 的视觉输入没有原生的坐标标注通道图中上方回答区域的代码块这类文字描述效果很好给 (x, y) 坐标反而是无效信息。先要求 Markdown再要求 JSON。复杂表格直接要 JSON 容易列错位一个稳妥的两段式是先让模型输出 Markdown 表格核对无误再基于同一张图要求把上表转成 JSON 数组。批量转录别逐张同步调。图片数量上到几百张时逐张调用既慢又贵。仓库里的 misc/batch_processing.ipynb 演示了 Message Batches API把请求打包异步提交官方标称成本降 50%且同样支持带图片的请求。思路是循环构造请求列表 → 提交批次 → 轮询状态 → 按custom_id回收结果。这套方案的边界说几句实话。成本上每次调用都要把整张图编码成 token高分辨率大图的输入 token 比正文高一个量级别拿它做低价值的大规模逐张转录。速度上视觉模型单次响应在秒级比本地 OCR 慢实时场景要斟酌。超长文档上单次塞几十页 PDF 不现实合理做法是先按页切片再逐页转录。准确率上印刷清晰文本的表现接近放心用但低分辨率手写的错误仍会存在财务、医疗类字段务必保留人工复核环节。另外要注意转录和 QA 的差别notebook 里对images/transcribe/page.jpeg直接提问live rep support 最严重的问题是什么属于问答输出是摘要而非全文两者提示词写法不同别混用。相关资源本文完整示例multimodal/how_to_transcribe_text.ipynb含上述全部四类任务的逐格代码批量处理misc/batch_processing.ipynb转录素材目录images/transcribe/截图、手写、表单各有一张可直接拿来练手想给转录质量建评估集可看 tool_evaluation/tool_evaluation.ipynb如果你用这个流程处理过手写病历、老档案扫描件之类的特殊场景欢迎把你的提示词和踩坑经验反馈出来对同类型任务的调优参考价值会很大。【免费下载链接】claude-cookbooksA collection of notebooks/recipes showcasing some fun and effective ways of using Claude.项目地址: https://gitcode.com/GitHub_Trending/an/claude-cookbooks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考