Photo Editor(修图)
Overview
提供两类互补的图片编辑能力:
- 确定性编辑(脚本) — 用
scripts/image_edit.py(仅依赖 Pillow)完成可复现、
秒级的几何与调色操作:裁剪、旋转、缩放、亮度/对比度/饱和度/色温/锐度、以及
B&W / 复古 / 暖色 / 冷色 / 柔焦 / 暗角滤镜。 - AI 创意编辑(ImageGen 图生图) — 用于语义级、创意型的修改:换背景、去水印/杂物、
风格转换(动漫/油画/素描)、人像美颜、画质增强放大。提示词模板见
references/prompt_templates.md。
先做判断再动手:结果是确定、可量化的用脚本;结果是创意、语义级的用 AI。
两者可串联(先用脚本做几何/调色,再对结果做 AI 创意编辑)。
Workflow
第 1 步:判断路径
对照下方决策树确定走脚本还是 AI:
| 用户意图 | 路径 |
|---|---|
| 裁剪、旋转、缩放、亮度/对比度/饱和度/色温、锐化 | 脚本 image_edit.py |
| 黑白 / 复古 / 暖色 / 冷色 / 柔焦 / 暗角 | 脚本 filter 子命令 |
| 换背景、去水印/杂物、风格转换、美颜、画质增强放大 | AI ImageGen(图生图) |
| 几何操作 + 创意生成 | 先脚本,再 AI |
若用户意图模糊(如"把这图修好看点"),先确认目标与输出位置,再选路径;
不确定时优先用脚本做基础调色,再视情况叠加 AI。
第 2 步:脚本路径(确定性编辑)
运行 scripts/image_edit.py,子命令:crop / rotate / resize / adjust / filter。
非破坏性:未指定 --output 时自动生成 <原名>_edited.<ext>,不会覆盖原图。
前置:确保运行环境已安装 Pillow(pip install Pillow)。在受管运行时用隔离 venv 的 python 执行。
常用示例:
# 旋转 90°
python scripts/image_edit.py rotate --input in.jpg --angle 90 --output out.jpg
# 长边缩放到 1080(保持比例)
python scripts/image_edit.py resize --input in.jpg --longest 1080 --output out.jpg
# 居中裁成 1:1 正方形
python scripts/image_edit.py crop --input in.jpg --aspect 1:1 --center --output out.jpg
# 调色:提亮+加对比+微暖
python scripts/image_edit.py adjust --input in.jpg --brightness 1.15 --contrast 1.1 \
--saturation 0.9 --warmth 0.2 --sharpness 1.2 --output out.jpg
# 滤镜:复古
python scripts/image_edit.py filter --input in.jpg --type vintage --output out.jpg
参数细节(完整列表)见脚本 --help 与各子命令 --help。
第 3 步:AI 路径(创意编辑)
调用 ImageGen 工具,传入原图作为 image 参数,prompt 取自
references/prompt_templates.md 对应场景的模板(替换 {占位符})。
提示词务必具体:说明要改什么、保留什么、目标风格与画质。
典型场景与对应模板:
- 换背景 →
references/prompt_templates.md§1 - 去水印/杂物/路人 → §2
- 风格转换(动漫/油画/素描) → §3
- 人像美颜 → §4
- 画质增强/放大 → §5
第 4 步:交付与说明
- 将生成的图片路径返回给用户,必要时用
present_files展示结果。 - 若脚本与 AI 串联,明确说明每一阶段的产物路径。
- 涉及覆盖风险时,默认保留原图(脚本已非破坏性;AI 输出另存新文件)。
Resources
scripts/
image_edit.py— 确定性编辑 CLI(crop/rotate/resize/adjust/filter),唯一依赖 Pillow。
references/
prompt_templates.md— AI 创意修图各场景的 ImageGen 提示词模板与"AI vs 脚本"决策树。