Skip to main content

image-enhancer

图像与截图综合增强流水线技能。在真实像素上做一趟流水线处理:分辨率提升(LANCZOS 重采样)、锐化(UnsharpMask 边缘增强)、去噪与 JPEG 压缩伪影清理、对比度与饱和度校正、透明通道与色彩模式保真,并按用途(汇报PPT、文档扫描、网页、印刷、社交平台)套用固化预设,支持整目录批量增强、失败清单对账与断点续跑。适用场景:汇报或PPT里的截图放大后发虚、文档与合同扫描件清晰度不足、聊天与网页截图文字糊、老照片轻微模糊需要提清、整批截图统一规格后入档。中英触发词:图像增强、图片变清晰、截图增强、截图变清晰、锐化、去噪、压缩伪影清理、升清、批量增强图片、image enhancer、enhance image、sharpen screenshot、denoise image、image quality improvement。

Datos de origen

Repositorio
fengqing008/weishuihuanbao
Última actividad en el origen
26 de septiembre de 2026 a las 04:37
Idioma detectado de SKILL.md
chino
Estrellas
1
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
7 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
image-enhancer
display_name
图像增强
version
1.0.0
description
图像与截图综合增强流水线技能。在真实像素上做一趟流水线处理:分辨率提升(LANCZOS 重采样)、锐化(UnsharpMask 边缘增强)、去噪与 JPEG 压缩伪影清理、对比度与饱和度校正、透明通道与色彩模式保真,并按用途(汇报PPT、文档扫描、网页、印刷、社交平台)套用固化预设,支持整目录批量增强、失败清单对账与断点续跑。适用场景:汇报或PPT里的截图放大后发虚、文档与合同扫描件清晰度不足、聊天与网页截图文字糊、老照片轻微模糊需要提清、整批截图统一规格后入档。中英触发词:图像增强、图片变清晰、截图增强、截图变清晰、锐化、去噪、压缩伪影清理、升清、批量增强图片、image enhancer、enhance image、sharpen screenshot、denoise image、image quality improvement。
author
清风明月
slug
qf-image-enhancer
category
科技
tags
["图像增强","图片变清晰","截图增强","锐化","去噪","批量增强"]
## 〇、专家级路由(v1.0.0) **专家定位**:把发虚的截图、带噪的压缩图、要放进汇报与文档的位图,在一趟流水线里做完分辨率提升、锐化、去噪、压缩伪影清理与用途化调参,并交出可逐张核对的增强交付包。 **五维评估**: - 适用场景:①汇报PPT与文档里的界面截图发虚 ②合同与档案扫描件清晰度不足 ③聊天、网页截图放大后文字糊 ④老照片轻微模糊需要提清 ⑤整目录截图统一规格后入档 - 能力边界:只做像素级增强与真实重采样,不做生成式补细节、不做图片改字换文案、不做风格重绘、不做人脸修复;"纯放大且要求凭空补细节"的场景转 ai-upscaler - 依赖资产:scripts/enhance.py(单图增强入口)、scripts/batch_enhance.py(批量入口)、references/quality-checklist.md(质检清单)、references/output-template.md(交付模板)、references/case-library.md(案例库) - 交付质量:增强图与增强前后对比报告双交付;含文字截图须过 OCR 抽检前 5 行可读;锐化后不得出现可见白边与振铃 - 性能表现:单张 1080p 图 0.3-1.5 秒(Pillow CPU,2x 重采样+锐化);批量 100 张约 1-3 分钟;单边上限 4096px,超出先缩后放 **四级响应(L1-L4)**: - L1 轻量问答(走哪个预设、锐化强度取多少)→ 按第五节预设表直接回答 - L2 标准任务(单张增强)→ 走第四节 1-7 步基础流程,过齐检查点 - L3 复杂任务(批量增强+按用途分类)→ 加跑 scripts/batch_enhance.py,输出 manifest.json 与 failed.log 对账 - L4 专家任务(汇报级或归档级交付包)→ 全流程 + 第十节范例复用 + 按 references/output-template.md 出增强前后对比报告 **黄金窗口**:单批 10-200 张;输入单边 320-4096px;锐化强度 0.8-2.0;放大倍数优先取 2x,印刷件取 3x **专家件索引**:references/case-library.md、references/quality-checklist.md、references/output-template.md、scripts/enhance.py、scripts/batch_enhance.py ## 一、定位声明 本技能是位图综合增强执行器:对分辨率不足、边缘发虚、带压缩噪点、对比度偏低的图片与截图做一趟流水线处理,输出可直接进汇报、文档与归档的增强图。 与 ai-upscaler(纯放大)的能力边界差异必须说清: - ai-upscaler 解决"尺寸不够"——用 AI 模型把低分辨率图放大到 2x/4x,可能臆造细节,产出物不宜作证据图归档; - 本技能解决"画质不够"——在真实像素上做重采样、锐化、去噪、色调校正,并按用途固化参数、把批量对账与质检做全,不生成新细节; - 两者可串联:先用本技能去噪与校正对比度,再交 ai-upscaler 放大;只有一个放大诉求时,用本技能的 LANCZOS 重采样即可,无需 AI 介入。 ## 二、触发条件 命中任一即触发: - 用户提到触发词:"图像增强 / 图片变清晰 / 截图增强 / 截图变清晰 / 锐化 / 去噪 / 压缩伪影清理 / 升清 / 批量增强图片 / image enhancer / enhance image / sharpen screenshot / denoise" - 用户上传截图或照片并描述"放大后糊、文字看不清、有点脏、颜色发灰" - 输入图要放进 PPT、可研报告、竣工资料、公众号推文,需在放大后仍保持文字可读 - 用户给出一个目录,要求"把这个文件夹的图都处理一遍" - 输入图存在可见 JPEG 压缩块(8x8 块状伪影)、边缘振铃或低对比度雾感 不触发(属其他技能范围): - 只要放大、要求 AI 补细节 → ai-upscaler - 改图内文字、去水印文字 → image-text-edit - 只做格式互转、缩略图、EXIF 清理 → image-tools-suite - 拍照纸质件自动裁边并合成 PDF → image-scanner-to-pdf ## 三、常驻规则 1. 原图零改动:所有写操作只落新文件,命名 `<原名>_enhanced.<ext>`,禁止覆盖源图;批处理前先做一次只读体检。 2. 预设优先于手调:先按用途选预设(ppt / doc / web / print / social),仅当预设质检不过才逐项调参;任何手调参数必须写进 manifest.json 以便复现。 3. 小样先跑:批量前抽 3 张代表性图(最小尺寸、最大尺寸、含文字最多各一张)试跑,人工确认后再全量执行。 4. 增强不过度:锐化后若出现白边、振铃或噪点被放大,回退一档参数重跑;JPEG 二次压缩质量不低于 92 且 subsampling=0。 5. 每张图过质检:按 references/quality-checklist.md 逐项勾选,未过项写进 failed.log 并注明原因,不得静默放过。 6. 报告随图交付:交付含增强前后对比报告一份(套 references/output-template.md),列明尺寸、体积、参数与质检结论。 ## 四、标准工作流 1. **输入盘点** — 输入:图片路径或目录。动作:列目录、读扩展名与文件体积,剔除非位图文件、零字节文件与符号链接。输出:可处理清单 processed.txt + 排除清单 skipped.txt(含排除原因)。 2. **图像诊断** — 输入:可处理清单内每张图。动作:跑 `python3 scripts/enhance.py --analyze <图>`,取尺寸、色彩模式、是否含透明通道、估算锐度评分与压缩块强度。输出:诊断 JSON(如 out/diag_<原名>.json),用于决定预设与参数。 3. **用途路由与预设匹配** — 输入:诊断 JSON + 用户交付用途。动作:按 5.1 节预设表匹配;图文类截图走 ppt 或 doc,纯照片走 social,印刷件走 print;单边超 4096px 时先缩到 4096px 再增强。输出:每张图的最终参数集(预设名+覆盖参数)。 4. **小样试跑** — 输入:3 张代表性图(最小、最大、含文字最多各一张)+ 参数集。动作:逐张执行,产出增强图并跑一次尺寸与体积自检,含文字图抽跑 OCR。输出:试跑样张 + 自检结果,交人工确认(确认点见第九节)。 5. **批量执行** — 输入:可处理清单 + 确认后的参数集。动作:跑 `python3 scripts/batch_enhance.py`,保留相对目录结构,单图异常隔离不中断。输出:增强图目录 + manifest.json + failed.log。 6. **质检核验** — 输入:增强图目录 + 原图目录。动作:按 references/quality-checklist.md 逐项核对;尺寸、体积、透明通道项由脚本自动核,视觉项人工放大 200% 目视。输出:质检记录(含未过项与处置)。 7. **交付与报告** — 输入:增强图 + 质检记录 + manifest.json。动作:按 references/output-template.md 生成增强前后对比报告,写出逐图明细与失败说明。输出:交付包(增强图目录+报告.md+manifest.json+failed.log)。 8. **失败对账与重试** — 输入:failed.log。动作:逐条判定原因(损坏/格式不支持/透明通道/参数过度/体积超限),按第八节降级表处置后局部重跑。输出:重试结果与最终失败清单。 ## 五、核心方法与命令 ### 5.1 增强流水线与预设表(Pillow 实现) ```python from PIL import Image, ImageEnhance, ImageFilter PRESETS = { # 预设随用途固化,避免每次手调 "ppt": dict(scale=2.0, sharpen=1.35, denoise=0, contrast=1.06, color=1.04, fmt="PNG"), "doc": dict(scale=1.5, sharpen=1.20, denoise=1, contrast=1.04, color=1.00, fmt="PNG"), "web": dict(scale=1.0, sharpen=0.95, denoise=1, contrast=1.02, color=1.02, fmt="JPEG"), "print": dict(scale=3.0, sharpen=1.50, denoise=1, contrast=1.08, color=1.06, fmt="PNG"), "social": dict(scale=1.5, sharpen=1.10, denoise=1, contrast=1.03, color=1.08, fmt="JPEG"), } def enhance(src, dst, preset="ppt", **overrides): cfg = {**PRESETS[preset], **overrides} im = Image.open(src) has_alpha = im.mode in ("RGBA", "LA") or "transparency" in im.info if cfg["denoise"]: # 压缩伪影与噪点清理 im = im.filter(ImageFilter.MedianFilter(size=3)) if cfg["scale"] != 1.0: # 分辨率提升(真实重采样) w, h = im.size im = im.resize((round(w * cfg["scale"]), round(h * cfg["scale"])), Image.LANCZOS) im = im.filter(ImageFilter.UnsharpMask( # 锐化:半径 1.6 保文字不糊 radius=1.6, percent=round(cfg["sharpen"] * 100), threshold=3)) im = ImageEnhance.Contrast(im).enhance(cfg["contrast"]) # 对比度校正 im = ImageEnhance.Color(im).enhance(cfg["color"]) # 饱和度校正 im = ImageEnhance.Sharpness(im).enhance(cfg["sharpen"]) # 整体清晰度微调 if cfg["fmt"] == "JPEG" and not has_alpha: # 含透明通道一律转 PNG,防丢通道 im.convert("RGB").save(dst, quality=95, subsampling=0, optimize=True) else: im.save(dst) return cfg, has_alpha ``` ### 5.2 诊断片段(决定预设与参数) ```python import json from PIL import Image, ImageFilter, ImageStat def analyze(path): im = Image.open(path) g = im.convert("L") edge = g.filter(ImageFilter.FIND_EDGES) stat = ImageStat.Stat(edge) sharpness = round(stat.stddev[0], 2) # 越大越锐;<6 判为发虚 return { "file": str(path), "size": im.size, "mode": im.mode, "has_alpha": im.mode in ("RGBA", "LA") or "transparency" in im.info, "sharpness_score": sharpness, "verdict": "needs_enhance" if sharpness < 6 else "already_ok", } ``` ### 5.3 可执行命令 ```bash # 1) 单图增强:PPT 预设,2x 放大,保留透明通道 python3 scripts/enhance.py raw/screen_login.png out/screen_login_enhanced.png --preset ppt --scale 2 # 2) 先体检:输出诊断 JSON,判断是否值得增强 python3 scripts/enhance.py --analyze raw/screen_login.png --json out/diag_screen_login.json # 3) 文档扫描件:1.5x + 去噪一档,清理 JPEG 压缩块 python3 scripts/enhance.py raw/scan_contract.jpg out/scan_contract_enhanced.png --preset doc --denoise 1 # 4) 整目录批量:并发 4,写 manifest 与失败清单,支持断点续跑 python3 scripts/batch_enhance.py raw/ out/ --preset ppt --jobs 4 \ --manifest out/manifest.json --failed-log out/failed.log --resume # 5) 质检自检:尺寸倍数、体积下限、透明通道三项 python3 -c " from PIL import Image s = Image.open('raw/screen_login.png'); d = Image.open('out/screen_login_enhanced.png') assert d.size == (s.size[0]*2, s.size[1]*2), '尺寸倍数不符' assert d.mode in ('RGB','RGBA'), '色彩模式异常' print('OK', s.size, '->', d.size, d.mode)" ``` 参数速查:`input` 与 `output` 位置参数(批量入口改为 `src_dir` 与 `out_dir`);`--preset` 取 ppt/doc/web/print/social(默认 ppt);`--scale` 浮点(默认取预设值);`--sharpen` 0.8-2.0(>2.0 易出白边);`--denoise` 0/1(默认取预设);`--analyze` 只诊断不出图;`--json` 诊断落盘路径;`--jobs` 并发数;`--manifest` 参数与结果台账;`--failed-log` 失败清单;`--resume` 跳过 manifest 内已完成项。 ### 5.4 无 Pillow 环境降级命令 ```bash # ImageMagick 兜底:LANCZOS 重采样 + unsharp 锐化 + 去噪(Pillow 不可用时) convert raw/screen_login.png -filter Lanczos -resize 200% \ -despeckle -unsharp 0x1.6 -quality 95 out/screen_login_enhanced.png ``` ### 5.5 相关资产引用 - 质检逐项清单:references/quality-checklist.md - 交付报告骨架:references/output-template.md - 案例登记与来源指引:references/case-library.md - 单图与批量入口:scripts/enhance.py、scripts/batch_enhance.py ## 六、输出规范 - 文件命名:`<原名>_enhanced.<ext>`;批量输出保留相对目录结构,如 `raw/2026/screen_a.png` → `out/2026/screen_a_enhanced.png` - 格式选择:含文字或透明通道一律 PNG;纯照片可用 JPEG(quality 95、subsampling=0);印刷件用 PNG 并注明 3x - 逐图台账:manifest.json 记录 `file / preset / params / in_size / out_size / in_bytes / out_bytes / status` - 失败清单:failed.log 每行 `file | reason | action`,reason 取自第八节失败模式表 - 交付报告:Markdown 一份,套 references/output-template.md,含逐图明细表与质检结论 - 回报格式:`增强完成 N 张 / 失败 M 张 | 输出目录 | 预设 | 质检通过率 | 体积变化率` ## 七、边界与反模式 不在范围(转其他技能): - 纯放大且要求 AI 补细节、老人像修复 → ai-upscaler - 图内文字替换、去水印文字 → image-text-edit - 批量加水印、拼图、骑缝章 → batch-watermark - 拍照件透视矫正、自动裁边、合成 PDF → image-scanner-to-pdf - 只做格式互转、白底化、EXIF 清理 → image-tools-suite 禁止行为: - 禁止覆盖、移动或删除源图;一切写操作只落新文件 - 禁止未做小样确认就直跑全量批量 - 禁止在锐化已出现白边、振铃、噪点放大时仍交付 - 禁止把增强图当原始证据图归档;法律与审计场景以原图为准,增强图仅作展示件 反模式(黑名单): - 反模式一:一步拉满参数(锐化 3.0 + 放大 4x),文字笔画粘连,OCR 反而不通过 - 反模式二:对 PNG 界面截图先转 JPEG 再去噪,二次有损压缩引入新伪影 - 反模式三:只报尺寸不看内容,未做文字可读性抽检即交付 - 反模式四:批量无断点续跑设计,任务中断后从头重来并覆盖已处理文件 - 反模式五:把去噪拉到最强档,文字边缘被抹平,扫描件反而更糊 ## 八、失败模式与降级 | 失败模式 | 触发条件 | 动作与降级路径 | |---|---|---| | 图片损坏或零字节 | `Image.open` 抛异常或文件 0 字节 | 捕获异常,记入 failed.log,跳过继续下一张,不中断批量 | | 格式不支持 | 扩展名不可解码(含 heic/psd/未知扩展) | 报错并转报 image-tools-suite 或 anydoc 转换,记 `unsupported` | | 透明通道丢失 | 源图含 alpha 但目标格式为 JPEG | 强制改存 PNG,manifest 标 `alpha_preserved`,禁止静默丢通道 | | 增强过度产生伪影 | 锐化后白边、振铃、噪点被放大 | 锐化回退一档重试,最多 2 次;仍不过则回退预设原值并标注 | | 批量任务中断 | 进程被杀、磁盘写满、超时 | 读 manifest.json 断点续跑,跳过 status=done 项,仅重跑失败与未完成项 | | 内存不足 | 单边超大图(> 4096px)或并发过高 | 先缩到 4096px 再增强,`--jobs` 降到 1 重试一次 | | 输出目录不可写 | 无权限或路径不存在 | 退出码非零并回报明确路径,不静默失败 | | 源图已达标 | 锐度评分 ≥ 6 且无压缩块 | 标注 `already_ok`,不强行增强,避免无意义处理 | 降级顺序:脚本原流程 → 降并发/降倍数 → ImageMagick 兜底 → 仅做 LANCZOS 重采样 → 回报无法增强并给出原图。 ## 九、关键检查点 🔴 检查点 1(源图体检后):诊断 JSON 的尺寸与色彩模式可读、锐度评分已出,人工确认哪些图确实需要增强。 🔴 检查点 2(小样试跑后):3 张试跑样张人工放大 200% 目视确认,文字无粘连、无白边,确认后才进全量。 🔴 检查点 3(批量前):确认输出目录为空或已备份,源图目录只读挂载,STOP 待确认,未确认不得启动批量。 🔴 检查点 4(质检核验):对照 references/quality-checklist.md 逐项核对,任一项未过即 STOP,不得进入交付。 🔴 检查点 5(交付前):增强图、报告、manifest.json、failed.log 四件齐备,失败项已逐条说明原因与处置。 🔴 检查点 6(归档场景):涉及法律、审计、结算用途时,须人工确认增强图不替代原图归档,并保留原图路径记录。 ## 十、实战范例 **范例 1:PPT 里糊掉的系统截图** ``` 输入:raw/screen_plant_scada.png(分辨率【待填:实际尺寸】,界面文字发虚) 命令:python3 scripts/enhance.py raw/screen_plant_scada.png out/screen_plant_scada_enhanced.png --preset ppt --scale 2 预期输出: 尺寸 原尺寸 x2;格式 PNG;透明通道保留 manifest:{"preset":"ppt","scale":2.0,"sharpen":1.35,"contrast":1.06,"status":"done"} 质检:OCR 抽检前 5 行文字可读;无白边振铃 回报:screen_plant_scada_enhanced.png | 原尺寸→2x | 预设 ppt | 质检通过 ``` **范例 2:合同扫描件清晰度不足** ``` 输入:raw/scan_contract_page.jpg(含 JPEG 压缩块) 命令:python3 scripts/enhance.py raw/scan_contract_page.jpg out/scan_contract_page_enhanced.png --preset doc --denoise 1 预期输出: 先去噪清理压缩块,再 1.5x 重采样,末段 UnsharpMask 锐化 failed.log 为空;体积变化率【待填:实测值】 质检:印章边缘完整、骑缝线不断、正文可读 回报:scan_contract_page_enhanced.png | 1.5x | 预设 doc | 质检通过 ``` **范例 3:整目录截图批量入档** ``` 输入:raw/ 目录(【待填:文件数】张界面截图) 命令:python3 scripts/batch_enhance.py raw/ out/ --preset ppt --jobs 4 \ --manifest out/manifest.json --failed-log out/failed.log --resume 预期输出: out/ 下按相对路径生成 *_enhanced.png manifest.json 含逐图参数与体积对比;failed.log 列明失败图与原因 中断后重跑同命令,已完成项被跳过(断点续跑生效) 回报:批量完成 N 张 / 失败 M 张 | 输出目录 out/ | 预设 ppt | 质检通过率 X% ``` ## 十一、依赖说明与降级 - 必装依赖:Pillow ≥ 9.0。自检命令 `python3 -c "import PIL; print(PIL.__version__)"` - 可选依赖:pytesseract + tesseract-ocr-chi-sim(文字截图 OCR 抽检);numpy(锐度评分加速) - Pillow 不可用时:改用 ImageMagick 兜底命令(见 5.4 节),功能对等但参数需手工换算 - OCR 不可用时:改为人工放大 200% 目视核对文字可读性,并在报告中注明抽检方式 - 资源上限:单边 4096px、单批 200 张、并发 4;超限时先降规格再处理,不得静默截断 - 与其他技能的衔接:需 AI 放大 → ai-upscaler;需扫描成 PDF → image-scanner-to-pdf;需格式互转 → image-tools-suite;需改字 → image-text-edit ## 十二、版本记录 | 版本 | 日期 | 变更 | |---|---|---| | 1.0.0 | 2026-09-17 | 由英文单文件技能改造为 ima 专家级中文技能:补齐专家级路由与四级响应、8 步标准工作流、失败模式与降级表、6 个检查点、5 个反模式黑名单;新增 references 三件(case-library.md、quality-checklist.md、output-template.md)与 scripts 两件(enhance.py、batch_enhance.py);明确与 ai-upscaler 纯放大路线的能力边界 | ## 依赖安装 本技能脚本依赖第三方库,首次使用(或沙箱/换机重置)后请先安装: ```bash python3 -m pip install -r requirements.txt ```
Ver en GitHub