image-toolkit v2.2 — 图片格式转换工具箱
功能总览
| 功能 | 命令 | 工具 | 说明 |
|---|---|---|---|
| 格式互转 | convert |
ImageMagick | PNG↔JPG、WebP↔任意格式 |
| HEIC转换 | heic |
ImageMagick | HEIC/HEIF → JPG/PNG |
| GIF合成 | gif |
ImageMagick | 多图合成动态GIF |
| 调整像素 | resize |
ImageMagick | 指定宽高/质量压缩 |
| 文字水印 | watermark |
Pillow | 文字水印,7种位置+透明+批量 |
| 画质增强 | enhance |
Pillow | ✨ 修复模糊/锐化/降噪/对比度(v2.2新增) |
🚀 快速使用
1. 格式互转
# PNG → JPG(透明背景自动填白)
python3 image-toolkit.py convert input.png -f jpg -o output.jpg
# 批量转换整个文件夹
python3 image-toolkit.py convert "*.png" -f jpg
# 指定质量
python3 image-toolkit.py convert input.png -f jpg -q 95
2. HEIC/HEIF 转换(iPhone照片)
# HEIC → JPG
python3 image-toolkit.py heic "IMG_1234.HEIC" -f jpg -o photo.jpg
# 批量 HEIC → PNG
python3 image-toolkit.py heic "*.heic" -f png
3. 多图合成 GIF
# 文件夹内所有图片合成 GIF
python3 image-toolkit.py gif --folder ./frames -o animation.gif --delay 80
# 指定图片列表
python3 image-toolkit.py gif --images img1.png img2.png img3.png -o anim.gif
# 控制帧延迟和循环
python3 image-toolkit.py gif --folder ./ -o out.gif --delay 50 --loop 3 --width 480
4. 调整像素/尺寸
# 指定宽度(高度自动按比例)
python3 image-toolkit.py resize input.png --width 800 -o out.png
# 指定宽高
python3 image-toolkit.py resize input.png --width 800 --height 600 -o out.png
5. 文字水印
# 单张,右下角白色半透明水印
python3 image-toolkit.py watermark photo.jpg -t "你的水印文字"
# 批量,输出到 watermarked/ 文件夹
python3 image-toolkit.py watermark "*.jpg" -t "©你的名字" -d ./watermarked/
# 指定位置和透明度
python3 image-toolkit.py watermark input.png -t "仅供内部使用" -p top-right -a 0.5
# 指定字体大小和颜色(RGBA支持)
python3 image-toolkit.py watermark input.jpg -t "草稿 V2" -s 48 -c "#FF000080"
6. ✨ 画质增强 / 修复模糊(v2.2新增)
# 默认模式:自动锐化+对比度+色彩(修复模糊首选)
python3 image-toolkit.py enhance photo.jpg -o fixed.jpg
# 智能模式:自动识别图片类型,选择最优参数
python3 image-toolkit.py enhance "*.jpg" -d ./enhanced/ --smart
# 强力锐化(截图/文字/线条类图片)
python3 image-toolkit.py enhance screenshot.png -o sharp.png --mode sharp
# 降噪优先(手机夜景/高ISO照片)
python3 image-toolkit.py enhance night.jpg -o clean.jpg --mode denoise
# 均衡模式(预览/日常优化)
python3 image-toolkit.py enhance photo.jpg -o balanced.jpg --mode balance
# 手动精细调参
python3 image-toolkit.py enhance photo.jpg -o tuned.jpg --sharpen 3.0 --contrast 1.2 --denoise 1
# 批量处理
python3 image-toolkit.py enhance "模糊照片/*.jpg" -d ./增强后/ --smart
📐 画质增强参数说明
增强模式(--mode)
| 模式 | 适用场景 | 锐化 | 降噪 | 对比度 | 色彩 |
|---|---|---|---|---|---|
auto(默认) |
修复模糊照片、日常优化 | 2.0 | 0 | 1.1 | 1.05 |
sharp |
截图/文档/文字线条图 | 3.5 | 0 | 1.15 | 1.0 |
denoise |
手机夜景/高ISO/颗粒感照片 | 0.5 | 2 | 1.05 | 1.0 |
balance |
预览/不希望明显改变的场景 | 1.5 | 1 | 1.1 | 1.05 |
手动参数
| 参数 | 默认值 | 范围 | 说明 |
|---|---|---|---|
--sharpen |
2.0 | 0.0-5.0 | USM锐化强度,0=不锐化 |
--denoise |
0 | 0-3 | 降噪强度(MedianFilter,越高越模糊) |
--contrast |
1.1 | 0.0-3.0 | 对比度倍率,1.0=不变 |
--color |
1.05 | 0.0-3.0 | 色彩饱和度,1.0=不变 |
智能模式(--smart)
开启后,工具会自动分析每张图片的特征(分辨率、文件大小),选择最优模式:
- 低分辨率/小文件 → 自动切换为 sharp 模式
- 高分辨率/大文件 → 保持 auto 模式
- 其他 → 使用 balance 模式
算法说明
画质增强基于 Pillow 内置算法,无需大模型,纯本地运行:
- USM锐化(UnsharpMask) — 最有效的去模糊算法,通过增强边缘对比度让模糊图片看起来更清晰
- MedianFilter降噪 — 中值滤波,去除椒盐噪声同时保留边缘
- Contrast/C色彩增强 — Pillow内置增强器
注意: 画质增强不是魔法,无法真正恢复已丢失的细节。效果最好的是轻度-中度模糊照片。重度模糊(信息已丢失)任何算法都无法完美修复。
🔧 技术细节
- 依赖:
convert-im6.q16(ImageMagick)+ Pillow(ImageFilter / ImageEnhance) - HEIC:ImageMagick 6.9.x 支持读取,输出为 JPG/PNG
- 增强算法:Pillow 内置(无大模型依赖,零门槛安装)
- 增强输出:默认生成
_enhanced后缀新文件,不覆盖原图
📁 文件结构
image-toolkit/
├── image-toolkit.py ← 统一主工具(6大命令,v2.2新增enhance)
├── png-to-jpg.py ← 原 PNG→JPG 单本脚本(保留)
├── png-to-jpg-batch.py ← 原批量脚本(保留,兼容旧用法)
└── SKILL.md ← 本文件
⚠️ 已知限制
- 增强不能创造不存在的信息:重度模糊照片效果有限,建议多试几种模式找到最优
- 降噪慎用高强度:denoise=3 可能让照片变得模糊,建议 denoise≤2
- HEIC 只读:ImageMagick 可读但无法写回 HEIC 格式
- 水印字体:自动检测系统字体,找不到时用默认字体
版本:v2.2(2026-08-02)新增画质增强/修复模糊功能,轻量Pillow路线,零大模型依赖