工具交接时保留坐标单位
Preserve coordinate units through tool handoffs
位置数据同时传递单位、尺寸和原点;混用不同坐标来源时先转换。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
填写一份 PDF 时,结构提取给出的地址框用点表示,截图识别出的签名框用像素表示。教学输入是一页 600×800 点的文档及对应的 1200×1600 像素整页图片;签名框为左上原点矩形 (200,400,600,600)。直接合并四个数字会把签名放到错误位置。
具体做法
- 为每个矩形携带页号、页尺寸、图片尺寸、单位、原点和矩形顺序;确认图片确实对应同一整页。
- 统一到左上原点的点坐标:x 乘 600/1200,y 乘 800/1600。不要靠文件名猜测尺寸。
- 若写入器要求左下原点,使用页高减去底边和顶边,得到 (left,bottom,right,top);只转换一次。
- 检查边界及宽高,在副本中写入并渲染复查。无法确认裁剪或旋转关系时先停止定位。
反例
在这页 PDF 的签名框写入姓名。截图框是 (200,400,600,600),直接将它作为 PDF 注释框;其他结构提取字段照旧。
改进写法
在文档副本定位签名框。页为600×800点,整页图为1200×1600像素;输入框是左上原点的像素(left,top,right,bottom)=(200,400,600,600)。先转成点并标明原点,再按写入器要求转换。输出两次转换结果和渲染核对记录;映射信息不完整时不要写入。
为什么这样改
坐标数组没有自带单位和原点。先显式归一化,才能把结构提取与视觉识别交给同一个写入器;保留变换记录也便于查出重复翻转或页映射错误。
如何验证
教学计算:左上原点点坐标应为 (100,200,300,300);左下原点注释框应为 (100,500,300,600)。宽200点、高100点,均在页面内。渲染后还要确认姓名落在可见签名框,而不是只检查计算通过。
适用边界
上述比例只适用于对应的未旋转整页图。裁剪、非零页原点、旋转、缩放后的局部截图和误检需另建变换。正确换算不能保证文字大小或视觉定位正确;源代码片段也不是完整的几何验证器。
原文与版本
- anthropics/skills · Hybrid coordinate normalization
查看此版本的文件8a1541c4a3ff - anthropics/skills · Scale and origin conversion
查看此版本的文件8a1541c4a3ff - anthropics/skills · Full screenshot coordinate space
查看此版本的文件8a1541c4a3ff