用编号联系表给 AI 挑图,再找回对应的原文件
让 AI 从一组图片里挑素材,最好能把它选中的那张接回原文件。这里用一个小脚本给缩略图画上 I0001 这样的编号,再保存编号和文件名的映射。后面查编号就行,不用靠“第二排中间那张”回找。
下面是脚本从固定绘图样例生成的第1页。格子里的图由代码绘制,没有调用视觉模型。棋盘格既衬出透明区域,也填充等比缩放留下的空白;外侧有格子不代表原图一定透明。
完整脚本、两页成品图、原始样例、提示词和验证记录都放在附件里,可以先看成品,再换自己的图片。
下载联系表脚本、样例、两页成品、提示词与验证记录(ZIP,17个文件)
解压后需要 Python 3.10+,依赖固定为 Pillow 12.3.0。在材料目录运行:
python -m pip install -r requirements.txt
python contact_sheet.py demo-images my-sheets --columns 2 --per-page 4 样例有6张可读图片和1个故意损坏的文件。命令会打印一条 SKIP I0007 ...,最后显示:
created 2 sheets; readable=6; skipped=1 my-sheets 中会得到 sheet-001.png、sheet-002.png 和 mapping.json。坏图也保留自己的编号,并在映射里记录 skipped 与原因,不把后面的图片挪来顶号。编号只对这次输入清单有效;增删、改名或修改原图后,重新生成整套图和映射,不沿用旧编号。
换成自己的素材时,把 demo-images 改成图片目录;输出目录必须是输入目录之外的新目录,已有目录会拒绝覆盖。脚本只读目录的第一层,支持 PNG、JPG/JPEG、WebP,先按 EXIF 方向转正,再等比缩放到格子里。它不会改动原图。
把生成的两页图片交给支持图片输入的 AI,可以配这段完整要求:
附件是同一批图片的两页编号预览。请粗选最多2张适合做横版配图的候选,
只依据可见的布局和画面内容。每张候选给出图上I开头的完整编号、
一条可见理由,以及是否需要原图进一步判断。
不要猜原始文件名,不用“左边那张”替代编号。
编号或画面看不清就明确说需要原图,不补出看不见的细节。
如果读不到附件,直接说明,不生成选择结果。 OpenAI 的视觉输入文档说明,图像输入不会处理原始文件名或元数据,图片在分析前也可能缩放。所以这里把短编号画进图内,文件名留在本地映射中。官方本来支持一次输入多张图片;联系表只是整理和粗选的办法,不是只能传一张图的限制。
需要回看原文件时,用随包的查询脚本。下面两个编号是手工指定的命令演示,不是模型挑选结果:
python lookup.py my-sheets/mapping.json I0001 I0006 预期返回:
I0001 01 蓝色横幅.png
I0006 06 留白背景.webp 找到后再提供对应原图或局部图,继续看小字、细节。联系表里的小预览会丢失细节,精细 OCR 或瑕疵检查仍要回到原图。模型返回的编号也要和图上标注核对。
单次超过500个候选文件会拒绝运行;单图超过2000万像素或读不了时,跳过该图并记原因。没有任何可读图时退出码为2,不生成输出;已有输出目录、未知或跳过的查询编号也会报错。保留 mapping.json,不要只留下拼图。
本地用 Python 3.12.14、Pillow 12.3.0 实际运行了10项检查,覆盖编号与页内位置、中文和空格文件名、EXIF方向、透明预览、破图、覆盖拒绝、全坏输入和真实超像素上限;ZIP解压到新目录后也已复跑。它验证的是脚本和固定样例,没有评测模型选图效果。可自行运行 python verify.py 查看验证记录。
参考:OpenAI《Images and vision》、Claude Vision 官方文档,2026-10-24查阅。