Install
openclaw skills install pixelmagic-photologic-9z专业图像后期处理工具。支持多种修图风格(末日大片、日系清新、复古胶片等),自动检测并安装 ImageMagick,支持 RAW/JPG/PNG 等多种格式,提供批量处理和自定义预设功能。Use when: (1)用户需要修图/调色/加滤镜, (2)处理 RAW 格式照片, (3)批量处理图片, (4)创建自定义修图预设
openclaw skills install pixelmagic-photologic-9z| 风格 | 特点 | 适用场景 |
|---|---|---|
apocalyptic | 低饱和、青橙色调、暗角、颗粒 | 末日、科幻、电影感 |
japanese | 高明度、低对比、偏青绿 | 日系清新、日常记录 |
vintage | 暖色调、褪色感、柔焦 | 复古、怀旧 |
bw-high | 黑白、高对比 | 纪实、艺术 |
custom | 用户自定义参数 | 个性化需求 |
from scripts.editor import ImageEditor
editor = ImageEditor()
result = editor.process(
input_path="photo.dng",
style="apocalyptic",
output_name="my_photo"
)
editor.batch_process(
input_dir="./photos",
style="japanese",
output_dir="./output"
)
# 创建自定义预设
editor.create_preset(
name="my_style",
params={
"brightness_contrast": "-10x30",
"modulate": "100,70",
"tint": "#3a5a4a",
"gamma": 0.95,
"sharpen": "0x1.2",
"noise": 0.3,
"vignette": True
}
)
workspace/image-editor-work/
├── {filename}/ # 以原始图片文件名命名的目录
│ ├── temp/ # 中间处理文件
│ │ ├── step01.jpg
│ │ ├── step02.jpg
│ │ └── params/ # 每步成功参数记录
│ │ ├── step01_params.txt
│ │ ├── step02_params.txt
│ │ └── ...
│ └── final/ # 最终输出
│ └── xxx_final.jpg
├── {filename2}/ # 另一张图片的独立目录
└── ...
IMG_20260329_111232.dng 时,创建 image-editor-work/IMG_20260329_111232/ 目录核心原则:保留原图动态范围和色深
对于所有图片(不论是RAW还是其他格式图片),每步都必须从原始文件开始处理,叠加之前已验证的参数,避免中间JPG丢失动态范围和色深。
Step A - 生成中间JPG(仅用于验证,不参与修图流程)
核心原则:始终从原始文件开始
每步处理都从原始文件开始,带上之前所有已验证的参数 + 当前步骤新参数,生成中间JPG仅用于多模态验证。
命令格式示例:
# Step 1: 从原始图开始(不降低亮度,避免暗部死黑)
magick original.dng -brightness-contrast 0x15 -quality 100 step01.jpg
# Step 2: 仍从原始图开始,叠加Step1参数 + 新参数
magick original.dng -brightness-contrast 0x15 -modulate 105,65 -quality 100 step02.jpg
# Step 3: 继续从原始图开始,叠加Step1+Step2参数 + 新参数
magick original.dng -brightness-contrast 0x15 -modulate 105,65 -fill "#3a5a6a" -tint 20 -quality 100 step03.jpg
JPG质量必须设为最高:-quality 100
严禁使用 -resize 或 -crop:除非用户明确要求改变尺寸,否则不得改变原始分辨率
注意:ImageMagick 7+ 使用 magick 命令即可,不需要 magick convert
重要:中间JPG仅用于多模态模型验证效果,绝不作为下一步的输入。
Step B - 多模态效果验证
temp/params/stepXX_params.txt关键记忆:
stepXX_params.txt严禁使用最后一步的中间JPG作为最终输出。
正确做法:
stepXX_params.txtmagick original.dng \
-brightness-contrast 0x15 \
-modulate 105,65 -fill "#2a5a6a" -tint 20 \
-sharpen 0x1.2 \
-attenuate 0.4 +noise gaussian \
-size 4096x3072 radial-gradient:black-white -level 0%,50% -compose blend -define compose:args=25 -composite \
-quality 100 final_xxx.jpg
为什么这样做?
文件保存:
final/ 目录交付给用户:
由于 open_result_view 工具在某些环境下可能无法直接展示图片预览,必须同时提供以下信息:
最终文件路径(必须提供)
最终图像已保存至:C:\Users\z9z\WorkBuddy\Claw\image-editor-work\final\xxx_final.jpg
尝试使用 open_result_view(可选)
from tools import open_result_view
open_result_view(target_file=final_path)
直接展示图片(如果环境支持)
read_file 读取图片文件,系统可能会自动渲染预览完整交付示例:
final_path = "C:\\Users\\z9z\\WorkBuddy\\Claw\\image-editor-work\\final\\xxx_final.jpg"
# 告知用户文件位置
print(f"修图完成!最终图像保存至:{final_path}")
#将图片发送给用户
# 尝试打开结果视图
try:
open_result_view(target_file=final_path)
except:
pass
# 尝试直接展示图片
try:
read_file(filePath=final_path)
except:
pass
重要:无论 open_result_view 是否成功显示,都必须明确告知用户文件的本地路径,确保用户能找到成品。
统一处理流程(所有格式):
原始图
│
├──► Step 1 参数 ──► 生成中间JPG ──► [多模态检查] ──► 达标?
│ │
│ 否 ──► 调整参数 ──► 重新从原始图生成
│ │
│ 是 ──► 记录参数到 step01_params.txt
│
├──► Step 1+2 参数 ──► 生成中间JPG ──► [多模态检查] ──► 达标?
│ │
│ 否 ──► 调整参数 ──► 重新从原始图生成
│ │
│ 是 ──► 记录参数到 step02_params.txt
│
├──► Step 1+2+3 参数 ──► 生成中间JPG ──► [多模态检查] ──► 达标?
│ │
│ ...
▼
[最终生成] ──► 从原始图一次性应用所有参数 ──► 最终图像 (最高画质)
核心要点:
workspace/
└── image-editor-work/
├── {filename1}/ # 图片1的独立工作目录
│ ├── temp/
│ │ ├── step01.jpg
│ │ ├── step02.jpg
│ │ └── params/
│ │ ├── step01_params.txt
│ │ └── step02_params.txt
│ └── final/
│ └── {filename1}_final.jpg
├── {filename2}/ # 图片2的独立工作目录
│ ├── temp/
│ │ ├── step01.jpg
│ │ └── params/
│ │ └── step01_params.txt
│ └── final/
│ └── {filename2}_final.jpg
└── ...
命名规范:
{原始文件名(不含扩展名)}step{NN}.jpgstep{NN}_params.txt{原始文件名}_final.jpg查看中间JPG时,需关注:
| 步骤类型 | 检查要点 | 达标标准 |
|---|---|---|
| 对比度调整 | 高光/阴影细节、整体通透感 | 暗部有细节、亮部不过曝、画面有层次感 |
| 色调调整 | 色温、饱和度、色彩倾向 | 符合目标风格(如青橙色调的青蓝阴影+暖黄高光) |
| 暗角 | 四角压暗程度、过渡自然度 | 四角适度压暗、边缘到中心过渡平滑、不突兀 |
| 暗部保护 | 阴影区域是否死黑、有无细节 | 暗部不发死黑,能分辨出纹理和层次;若整体偏暗导致难以判断,需主动提亮检查暗部 |
| 锐化 | 边缘清晰度、噪点控制 | 主体边缘清晰、无明显锯齿或噪点增加 |
| 颗粒 | 颗粒均匀度、自然感 | 胶片质感自然、不破坏细节、颗粒分布均匀 |
| 破坏性修图 | 过度拉参数导致的颜色断层,杂色,色斑色块等 | 颜色自然过度,没有断层,没有非额外添加颗粒效果的噪点,没有杂色和色斑色块 |
-brightness-contrast 中的负亮度值(如 -5x20 改为 0x20)gamma < 1.0(如 gamma 0.9/0.95),改用 modulate 或 level 控制影调compose:args 从 60 降到 30-40)+modulate 150 的版本辅助检查细节-quality 100-brightness-contrast 的负亮度值压暗(如 -5x20、-10x40)。如需暗调,用 modulate(如 95)或后期 level 实现,避免线性偏移杀死暗部。gamma < 1.0(如 0.9、0.95),gamma 压缩会吞掉暗部层次。blend 替代 multiply:multiply 会让整张图(不仅是四角)被渐变灰色压暗;改用 -compose blend -define compose:args=强度,建议强度 30-50。