iPhone 从相机直出的照片扩展名是 HEIC,而识别工具的输入清单里没有它:接受 JPG、JPEG、PNG、BMP、WEBP,PDF、GIF、TIFF、HEIC 都不行。所以上传第一关就会报格式不支持,这一步不是设置问题,也不是网络问题。
为什么不能直接把 HEIC 送去识别
HEIC 用的是新一代编码,好处是同画质体积更小,代价是需要系统授权解码,服务端解码链路也不如 JPEG 通用。与其在中间加一层不确定能不能解开的转换,不如让用户显式转一次。这不是识别能力不足,是输入格式的兼容边界,写清楚比含糊承诺更有用。
转格式的正确做法
用 HEIC 转 JPG,转完拿到标准 JPEG。三种常见路径任选:
- 站内直接上传 HEIC 转出 JPG,然后立刻送去识别,全程一步不多。
- iPhone 设置里把「兼容性优先」打开,以后拍照直接输出 JPEG,从源头避免。缺点是历史照片仍是 HEIC。
- 用微信「文件传输助手」发原图到电脑时,部分场景会自动带上 JPEG 版本,可以顺手拿来用 —— 但要小心转发过程压缩,见下一节。
一定要留两份
转出来的 JPG 用来识别和日常发送,原始 HEIC 不要删。理由是它们不是同一份文件:HEIC 保留了完整的拍摄信息与更广的色域,将来若要打印、重新裁切、或者对方要求提供原始影像件,只有 JPG 会很被动。报销凭证这类材料尤其如此,纸质原件、电子影像、可检索文本三样各有各的用途,保管年限以主管部门与接收单位公布要求为准。
顺带说一句 Windows 端的痛点:装了 HEIC 解码组件才能预览,否则资源管理器里只剩一个图标。给同事发材料时默认转成 JPG,能省掉一轮来回沟通。
转完之后仍然识别不全,查这三件事
第一查长边。 通过微信转发过的照片常被压到长边一千像素以下,而文字过小本身就容易漏识。这种要去源头拿原图。
第二查是不是拍了两张。 连拍模式下相册里存了一组,选错那张虚的,识别结果会莫名其妙少半页。
第三查内容类型。 热敏纸小票放几个月会褪色,字迹对比度低于临界值时整行消失;印章上的字、手写金额都不属于印刷体这一路的强项,手写的要用「手写文字识别」入口。
票据金额如果要进表格,走 表格识别转Excel,印刷表格每页扣 2 点,比文字入口贵一倍,但省掉手工敲列。
底线判断
只有两三张票据,转格式这一步十几秒,不必纠结。整本相册几千张要批量处理时,先去 iPhone 设置改输出格式,再决定哪些需要回溯转换 —— 无差别全量转一遍会白占空间,而且 JPG 是有损的,反复转存会叠加损失。转一次、用一次、原图留底,是最稳的顺序。