一句话先看: ChatGPT 的 vision(截至 2026 年 6 月默认模型为 GPT-5.5)OCR 能力不错,但有损。在 App 里,图片在模型读取前会被缩放并切成小块(tile),所以小字、低对比、密集图表都容易读错。能修掉绝大多数情况的最快办法:重传一张清晰 PNG,长边放到 1500px 以上,裁剪到你真正关心的那块区域,再用具体的抽取式 prompt(“按阅读顺序逐字转录”)代替”这图里是什么”。如果连手写或没标轴的图表也读错,那是模型真实能力边界——直接转录或改喂原始数据。
“看不懂”几乎从不是模型完全失明,多数情况是分辨率 + 提示词共同造成的精度不足,而这两点都在你掌控之中。
ChatGPT 到底是怎么”看”你这张图的
搞清这条流水线,就明白为什么光靠高分辨率不够。你在 ChatGPT App 里上传后,图片会先被缩放并切成 512x512 的 tile,模型再逐块读取(高细节处理会把短边缩到约 768px,再切块)。模型读的是每个 tile,不是你的原始全分辨率图。两个后果:
- 图越大不等于越好——超过一个点之后只是被重新切块,30px 高的小字塞进一个 tile 里照样糊。
- 裁剪比放大更有用。 紧凑的裁剪把你关心的字塞进更少、更密的 tile,所以一张 200x200 的裁图常常能读对,整窗截图却失败。
截至 2026 年 6 月,ChatGPT 支持 PNG、JPEG、WebP、非动态 GIF,单张 上限 20MB。HEIC(iPhone 默认格式)并不能稳定上传,先转成 JPEG/PNG。Free 账号每天图片上传次数很少;Plus 大约每天 50 张、每 3 小时 80 个文件(限额会变,当大概数看)。
你属于哪一类
把你的现象对到最可能的原因,按命中率从高到低排:
| 你看到的现象 | 最可能的原因 | 第一步怎么修 |
|---|---|---|
| 文字糊,整图发软 | 分辨率太低 / 被重压 | 重传原图 PNG,长边 1500px+ |
只有小字读错数字字母(0/O、5/S) | JPEG 压缩 artifact | 换 PNG,重新截一份 |
| 深色 IDE / Notion 截图读错 | 对比度低(深色模式) | 改浅色重截或反色 |
| 给个大概描述,从不读具体 | prompt 太空 | 给具体的抽取任务 |
| 自信地报错图表上的数字 | 图表缺标签 / 图例 | 给原始数据或标注坐标轴 |
| 手写 / 古字 / 罕见字读错 | 模型能力边界 | 先用 OCR 转录 |
| 有条纹、文字歪斜、反光 | 拍摄问题(拍屏幕 / 拍纸) | 直接截图或用扫描 app |
| 图根本传不上去 / 报错 | HEIC / 超 20MB / 超配额 | 转格式、压小或查套餐限额 |
1. 分辨率太低,或图片被重新压缩
最常见。手机截图发到微信再下载下来已经是缩略图,长边只剩 800px 以下。文字一糊就读错。
如何判断: 在 ChatGPT 里点开图查看原始大小。长边低于 1024px = 概率高。重传原图,不要走任何聊天 App 的压缩中转。
2. JPEG 压缩把小字弄糊
JPEG 在小字 / 边缘处有 ringing artifact,OCR 把 0 读成 O、5 读成 S。
如何判断: 读错集中在小字(约 12pt 以下)。换 PNG 重传——PNG 无损,也是 OpenAI 官方对截图和图表的推荐格式。
3. 深色模式截图,对比度低
深色背景 + 深灰字(IDE 和 Notion 默认配色)识别率明显下降,而低对比文字恰恰是 vision 模型最爱”脑补”字符的地方。
如何判断: 用浅色模式重截一份,准确率明显提高 = 就是对比度问题。
4. Prompt 没指明要抽取什么
“看一下这张图”会给个大概描述,从不读具体;“读出 y 轴所有刻度数字”会强制扫描那个区域。
如何判断: 你的 prompt 只是”看 / 描述 / 这是什么” = 太空。
5. 图表 / 数据视觉本身缺要素
没标轴、没图例、颜色相近、堆叠柱重叠——人类也读不出来,模型同样读不出。从没标签的图表里读准确数值,是 vision 公认的弱项。
如何判断: 拿给同事看一秒,他也读不出数字 = 图本身信息密度不够。
6. 手写、古字或罕见字体
vision 对手写、繁体、日文汉字、行楷的识别远低于标准印刷体。这就是模型最弱的一块,没有例外。
如何判断: 识别率约 50% 以下,且错的全是这类内容 = 当前模型能力边界。先转录。
7. 屏幕反光或透视形变
手机拍电脑屏幕会出现摩尔纹;拍纸文件有透视歪斜。OpenAI 自己的建议也是重新拍一张清晰的,而不是去放大一张已经糊掉的图。
如何判断: 有规律性条纹、文字不水平、或高光斑点 = 拍摄问题。直接截图或正面拍。
动手前先确认
- 记下问题是出现在普通对话、Project,还是 Custom GPT。vision 在三者里能力一致,只是配额可能不同。
- 复现前把当前对话和原图都备份,避免旧历史污染下一次诊断。
- 确认套餐。Free 账号每天图片上传额度很少,超额时是直接上传失败,而不是读错。
动手前先收集这些:
- 图片真实分辨率(宽 x 高)、文件大小(KB)、格式(PNG / JPG / HEIC)。
- 来源:自己拍 / 截图 / 别人发 / 网图保存。
- 完整 prompt 文案 + 读错的回复(具体哪几个字 / 数字错了)。
- 当前模型,以及是否在 Project / Custom GPT 里。
最短修复路径
按收益从高到低排,前 2 步通常修 70% 的问题。
Step 1:重新导出 1500px+,用 PNG
低分辨率是最常见也最容易修的:
- 截图用系统工具(macOS
Cmd+Shift+4,WindowsWin+Shift+S)原始保存,不经过任何压缩中转。 - 手机截图用 AirDrop、iCloud,或”不压缩发送”(Telegram”以文件形式发送”)传到电脑,别走微信 / WhatsApp。
- 已经低分辨率的图先 upscale:macOS Preview,
Tools -> Adjust Size,长边设 1500px、分辨率 300dpi。 - 文字 / 截图用 PNG,照片才用 JPG(quality 95+)。
- iPhone 上如果根本传不上去,先把 HEIC 转成 JPEG(相册
Share -> Copy Photo会重新编码,或设Settings -> Camera -> Formats -> Most Compatible)。
Step 2:裁剪到你真正关心的区域
整窗截图会把模型注意力分散到很多 tile 上。裁到包含你实际问题的那块,识别率立刻上去:
# macOS 内置
Cmd+Shift+4 -> 拖选区域 -> 自动保存到桌面
# 现成软件
Snipaste / ShareX / Skitch(带标注)
Step 3:用定向转录 prompt
不要”看图说话”,给具体抽取任务。要求”逐字、完整转录”(而不是总结),才能把模型推向忠实 OCR:
文字识别:
Transcribe every word visible in this image, in reading order
(top-to-bottom, left-to-right). Use "[unclear]" for any character
you cannot read with high confidence. Do not summarize or paraphrase.
图表数据:
This is a bar chart. List each x-axis label and its corresponding
y-axis value as a two-column table. State your confidence (high /
medium / low) for each row.
UI 截图:
Read the text inside the red box only. Ignore everything outside it.
Step 4:在图上标出重点区域
vision 对”框 / 箭头 / 颜色高亮”的区域注意力明显更高:
- 截图后用 Preview / Snipaste / Skitch 画红框 / 箭头。
- prompt 里说
focus on the red box / arrow。 - 多个关注点用不同颜色,再在 prompt 里映射:“green box = section A, red box = section B”。
Step 5:深色模式截图先反色或调亮
深色 IDE / Notion 截图识别率低:
- macOS Preview:
Tools -> Adjust Color -> Invert。 - 或临时把 IDE 切到浅色主题重截一份。
- 或截图前调高屏幕亮度和字号。
PowerPoint / Keynote 里也可以右键 Picture Format -> Color Corrections 做明亮 / 对比度调整。
Step 6:手写 / 罕见字体先转录
别在模型最弱的任务上硬磕。手写笔记、古文、名片:
- 手写:Apple Notes 自带手写转文本;GoodNotes / Notability 导出 PDF 再 OCR。
- 印刷古文:Google Lens 或 ABBYY FineReader。
- 把转好的文字贴进 ChatGPT,比让它”看图认字”可靠得多。
怎么确认已经修好
- 开一个全新对话,传同一张图、问同一题。识别正确 = 真修好,不是上次蒙对。
- 让它描述关键数字 / 字在图里的位置(“右上角,紧贴 logo 下方”)。位置对得上才说明是真读到了,而不是从上下文猜的。
- 让同事用相同流程截一份再传。识别率一致 = 流程稳定,而不是单张图碰巧好。
如果还是读错
- 把图切到最小:只留你要识别的那一块(哪怕单个字),看最小用例能不能跑通。
- 换图源:屏幕截图 -> 重新拍纸版 -> AI 重新画一张同内容的干净图,借此排查是不是原图本身有问题。
- 换模型对比:ChatGPT(GPT-5.5)、Claude(Opus 4.7 / Sonnet 4.6)、Gemini 3.1 Pro 在手写、表格、图表上的强项不同,一个读不出的另一个常能读出。
- 如果你有 API 权限,同一张图用文档 / “original” 细节档位 + 更高 reasoning effort,读密集页面比 App 默认行为更好。
- 准备好原图 + prompt + 错误现象 + 期望识别结果,去 help.openai.com 提工单。
预防建议
- 截图永远用系统工具直接存原图,绝不经过会重压的聊天 App 中转。
- 高 stakes 识别(合同 / 财务表):PNG、长边
>= 2000px、浅色背景。 - 手机拍纸用专门的扫描 app(Adobe Scan / CamScanner)矫正透视 + 增强对比,比直接拍好得多。
- 每次让它读数字 / 文字,都要求它”State confidence per item”,低 confidence 的人工再核一遍。
- 让 vision 读图表前先问自己:能不能直接拿到原始 CSV / 数据?能就别让它读图。
常见问题
为什么 ChatGPT 截图里一部分读对,剩下却是编的?
低对比或小字恰恰是 vision 模型最爱”脑补”的地方。它会用看似合理的字符补上读不清的部分,而不是承认读不出。重传一张更清晰的 PNG,并加上”读不准的地方用 [unclear] 标出”,逼它标出空缺而不是瞎猜。
传更大、分辨率更高的图一定更好吗?
不一定。App 无论如何都会把图切成 512x512 的块,所以长边超过约 1500-2000px 之后几乎没增益。紧凑裁剪几乎总能胜过整页大图,因为它把目标文字塞进更密的 tile。
我的 iPhone 照片根本传不上去,怎么回事?
多半是 HEIC。截至 2026 年 6 月,ChatGPT 能稳定接收 PNG、JPEG、WebP、非动态 GIF,单张上限 20MB;HEIC 常常失败。设 Settings -> Camera -> Formats -> Most Compatible,或先把照片另存为 JPEG 再上传。
同一张图在 API 里读得对,App 里却不行? API 暴露了细节 / “original” 档位(保留更多分辨率),以及给图表用的更高 reasoning effort。消费版 App 会替你自动选,通常偏向速度。在 App 里靠裁剪 + 定向 prompt 能补上大部分差距。
ChatGPT 是直接拒绝 / 卡住而不是读错——这是另一类问题吗? 是的。如果它根本不读这张图,大概率是超了套餐每日图片配额、文件超过 20MB,或格式不支持(HEIC)。那是上传 / 限额问题,不是 OCR 准确率问题。
相关阅读
标签: #ChatGPT #ChatGPT 文件 #排查 #排查 #图片上传