图片扩大:用 Real-ESRGAN 做 AI 放大与打印级 DPI 输出

前言

设计稿、截图或素材往往只有网页或屏幕分辨率,要进印刷或高清展示时,单纯拉大像素只会糊。手工走 Photoshop 放大、再调 DPI,步骤多且难在 Agent 对话里复现。SkillHub 社区 Skill「图片扩大」(@user_8e8df319/image-upscale)把 Real-ESRGAN 与 LANCZOS 串成固定流程,支持 PSD/PNG/JPG,输出带 DPI 元数据的高分辨率 PNG,适合在 Cursor 等环境里用自然语言驱动。

这是什么

「图片扩大」是 SkillHub 上分类为 design-media 的社区 Skill,坐标 @user_8e8df319/image-upscale,当前版本 1.0.0,发布者 user_8e8df319。标签标明 requires_api_key=false,不依赖外部 API Key。

一句话定位:基于 Real-ESRGAN 神经网络做 4× AI 放大,再用 LANCZOS 插值拉到目标倍数,并把 DPI 写入 PNG,供打印或高清交付使用。

核心功能

下面介绍已写在官方 Skill 说明中的能力,不展开未在资料中出现的能力。

  1. 输入格式:PSD、PNG、JPG/JPEG;PSD 会合并图层为 RGB 并记录原始尺寸。
  2. 放大策略:先用 RealESRGAN_x4plus(约 63.9MB 权重)做 4× 放大与细节重建;若目标倍数大于 4×,剩余倍数由 LANCZOS 插值完成。
  3. 大图与设备:支持分块(tile)推理以控制显存;有 CUDA 时优先 GPU,也可指定 CPU。
  4. 输出:高分辨率 PNG,默认命名 {basename}_{scale}x_{dpi}DPI_realesrgan.png;可单文件或批量目录处理,已存在同名输出会跳过。
  5. DPI:可在流程中配置目标 DPI(Skill 内默认 300),并写入 PNG 元数据。

Skill 简介还约定 Agent 应在用户提到 upscale、enlarge、magnify、提高分辨率、印刷 DPI、PSD 转高清 PNG 或需要 AI 补细节时使用本 Skill。

安装与启用

通过 SkillHub CLI 安装

先确认本机是否已有 skillhub:

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 安装文档执行完整安装(CLI + 默认 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

仅装 CLI 时:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。常见路径如下(摘自 SkillHub 安装说明):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

对本 Skill 执行安装(slug 需带 @ 前缀):

skillhub install '@user_8e8df319/image-upscale' --dir ~/.cursor/skills/

SkillHub 页面也提供等价提示:让 AI 根据 https://skillhub.cn/install/skillhub.md 安装 @user_8e8df319/image-upscale。

运行依赖

Skill 内 scripts/upscale.py 标明依赖:PyTorch、Pillow、numpy、requests。首次运行若本地无模型,会从 Real-ESRGAN 官方 Release 自动下载 RealESRGAN_x4plus.pth 到 scripts/ 目录,也可手动下载后放到同路径。

典型用法

在 Agent 对话中触发

安装并加载 Skill 后,可先让 Agent 按 Skill 的 Phase 0 与你确认两项参数:放大倍数或目标尺寸(默认 10×,即边长约变为原来的 10 倍)和 目标 DPI(默认 300)。若你给出目标像素边长,Agent 会按 scale = ceil(target / original) 推算倍数。

随后 Agent 会按 Skill 工作流读取原图、执行 Real-ESRGAN 4×、LANCZOS 拉到目标倍数、写入 DPI 并输出 PNG。

直接调用脚本(可复现)

在 Skill 目录下,可用 CLI 做单图或批量处理:

# 单图:10 倍放大,300 DPI
python scripts/upscale.py input.png -o output.png -s 10 -d 300

# 批量处理目录
python scripts/upscale.py ./images/ --batch -s 10 -d 300

# 无 GPU 时指定 CPU
python scripts/upscale.py input.png --device cpu

Python 调用示例(与 SKILL 一致):

from scripts.upscale import upscale_image, batch_upscale

result = upscale_image('input.psd', 'output.png', target_scale=10, target_dpi=300)
results = batch_upscale('./images/', target_scale=10, target_dpi=300)

适用场景与注意

适合谁

  • 需要在对话里把 PNG/JPG/PSD 放大到指定倍数或像素,并要打印级 DPI 的设计、运营或开发。
  • 希望 4× 以内由 Real-ESRGAN 补纹理与边缘,更大倍数由 LANCZOS 承接,而不是全程双线性拉大。

限制与注意

  • 大于 4× 的部分本质是插值,不是全程 AI 生成;倍数拉得过高,预期应接近「清晰放大」而非无限细节。
  • 依赖 PyTorch 与可选 GPU;大图分块与批量时的显存清理逻辑在 Skill 说明中有描述,机器内存/显存仍可能成为瓶颈。
  • 模型首次下载约 63.9MB,需网络可达 GitHub Release 地址。
  • SkillHub 页面统计(以社区页与抓取资料为准):评分 100000,下载约 985 次;安装与升级以 SkillHub 与本地 skillhub 为准。

结尾

「图片扩大」把 Real-ESRGAN、LANCZOS 与 DPI 元数据写成可重复的 Agent Skill,并附带 scripts/upscale.py 便于脚本化。需要安装或查看说明时,可参考:

  • Skill 资源:https://api.skillhub.cn/user_8e8df319/image-upscale
  • SkillHub 介绍页:https://www.skillhub.cn/skills/user_8e8df319/image-upscale
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye