用途
photocraft-restore-old-photo 用于借助 photocraft 完成老照片修复任务,针对的典型问题包括划痕、霉点、折痕、褪色与局部缺损。它定位为一项完整的修复工作流,从素材诊断开始,到产出可编辑交付结束。
主要能力
- 在执行前依据修复操作手册判断损伤类型、处理顺序和降级边界。
- 按划痕、霉点、褪色、缺失区域分区标记,并对人脸、文字和照片边缘单独保护。
- 流程顺序为先校正旋转并检查整体灰阶,局部修复检查通过后再用可编辑调整层恢复中间调,避免先锐化噪声。
- 在复制出的修复层上以小区域试用修复画笔或克隆,沿相同纹理取样并避开五官边界。
- 采用分区短笔触修复并频繁切换原图比较;大面积缺失若无可靠参照,保留缺损并说明。
- 收尾做轻度降噪与输出尺寸锐化;上色仅在明确需要且具备相应能力时进行。
- 提供 repair_plan.py 脚本,按实际像素尺寸生成局部修复计划。
使用方式
- 先读取素材,确认交付用途、目标尺寸或时长、修改范围与必要格式;能由任务与素材确定的细节直接采用合理默认值,只询问会改变结果的缺失条件。
- 需要可见编辑器时交给 photocraft-editor 技能,其独立安装命令为:npx skills add full-aigc-skills/photocraft-skills --skill photocraft-editor。资料说明当前新增技能为本地候选,发布前使用本地配套插件,不把该安装命令当作已发布证明。
- 按实际像素填写输入样例:使用当前文档的实际宽高、已确认的损伤笔触和同纹理取样点,坐标为像素单位,不能沿用样例位置;protected 是经素材检查后声明的脸部、文字等矩形保护区,不是自动识别结果。
- 执行:python3 <本技能目录>/scripts/repair_plan.py --input actual-input.json --output local-plan.json。脚本只生成复制工作层和局部修复命令,不调用 CLI/MCP、不修改图片、不执行整体调色;它会检查笔刷半径、相邻点之间的保守包围盒以及修复画笔随笔触移动的采样范围,触及保护区或越过画布即拒绝。保守矩形可能误拒绝安全斜线,可在看图后拆为更短笔触,但不能删保护区绕过;未声明区域不受此检查保护,算法实际影响范围与最终画质仍须看导出图。
- 读取输出 steps 后,先在已确认的活动像素层上复制工作层,回读当前层,再按当前工具 schema 逐条调用 command_run,禁止把一组步骤发送后假定全部成功。CLI 的 run/--cmd 格式沿用具体操作手册。局部阶段另存新工程和 PNG,检查损伤与保护区后,才决定是否执行整体影调阶段。输出文件已存在时脚本拒绝覆盖。
- 工具层使用 doc_open/doc_new 打开或新建,doc_inspect 查看图层,command_list 查询实际命令,command_run 执行,doc_save 保存 .pcraft,doc_export 导出。先读取实际工具 schema 再填参数,对象或文档 ID 使用返回值;查询到的命令必须在当前后端可用;保存前选择新输出路径并保留输入。所需算法、格式或命令不存在时说明缺口,不能用相近名称冒充。
结果检查与交付
- 在 100% 视图下检查眼睛、嘴角、鼻翼是否变形,边缘有无重复纹理和糊斑。
- 整体缩放检查影调是否自然,未修区域应保留原始纹理。
- 交付分层工程、修复图和同尺寸前后对比;推测重建区域单独标注。
- 对照用户目标检查实际内容,而不只检查进程退出码;异常结果先检查当前工程,避免重复执行不可逆操作。
- 返回可编辑工程、实际派生文件和简短说明:做了哪些修改、哪些步骤因当前能力未执行、需要用户判断的内容;只列真实存在且已检查的文件。若用户返工,读取本次源工程并局部修改,保留已接受的内容。
适用场景与限制
适用于老照片划痕、折痕、褪色和局部缺损的修复,以及需要可编辑工程与前后对比交付的任务。资料同时说明:当前新增技能为本地候选,安装命令不构成已发布证明;脚本不调用 CLI/MCP、不修改图片、不执行整体调色;保护区需人工声明,未声明区域不受检查保护;缺少所需算法、格式或命令时应说明缺口,不得以相近名称替代。