# Real-ESRGAN alpha_upsampler 教程：透明贴纸软边两种处理路径

使用显式 Python enhance 参数比较 realesrgan/bicubic 的 alpha 路径，避免 CLI 解析参数却未传递的陷阱。

已运行原创输入生成与离线文件校验；本页模型/桌面应用未实跑，比较脚本供你运行后使用。

## 逐步操作

### 1. 确认是带软 alpha 的原创输入

input.png 是代码绘制的圆角贴纸，包含明确中间透明值；它是输入，不是 AI 输出。alpha-reference.png 展示其真实通道，先确认 RGBA 和 0<alpha<255 的像素数。

```bash
python3 verify.py
```

### 2. 先阅读参数是否真正传入

核查当前官方 inference_realesrgan.py：虽然解析 --alpha_upsampler，但所核源码的 enhance(img, outscale=args.outscale) 未显式传入该值。只改 CLI 开关可能不改变实际路径，本文用 Python API 明确传递。

### 3. 建立同一 RGB 模型与精度

run_alpha.py 从同一 .pth 构建 RRDBNet/RealESRGANer，显式 fp32 和 tile=0。安装依赖、模型路径与许可证由运行者核对；本页未加载大权重，不把本机存在 PyTorch 称作已实跑。

```bash
python run_alpha.py --help
```

### 4. 分别调用两条 alpha 处理路径

脚本两次调用 enhance(image,outscale=4,alpha_upsampler=...)；一版 realesrgan，一版 bicubic。两次源 RGBA、RGB 模型、精度和倍率相同，只有 alpha 参数改变。

```bash
python run_alpha.py --repo /path/to/Real-ESRGAN --model /path/to/RealESRGAN_x4plus.pth
```

### 5. 核对通道、尺寸和 RGB 是否一致

compare_alpha.py 检查两版 RGBA 和同尺寸，再分别统计 RGB 与 alpha 差异。不要仅看棋盘底预览就称为无损；若两版相同，保留实际结果并核查版本和分支。

```bash
python compare_alpha.py output
```

### 6. 在深浅底色对照同一软边

分别合成到暖白和深灰，把选定像素带的 alpha 曲线与图像放在一起。正文透明度标尺与 bicubic 预览只是确定性输入校准，不是未执行的 realesrgan 版本输出。

```bash
python3 compose.py output/alpha-bicubic.png
```

### 7. 记录源码与实际 API 参数

保存 Real-ESRGAN commit、模型 hash、两次 alpha_upsampler 和输出检查。不得把参数名称当执行证据；只有真实结果和配置一致才进行质量判断。

```bash
python3 verify.py --results output
```

## 来源与边界

- [CLI：alpha_upsampler 参数解析与 enhance 调用](https://github.com/xinntao/Real-ESRGAN/blob/master/inference_realesrgan.py)
- [enhance 的实际 alpha_upsampler 分支](https://github.com/xinntao/Real-ESRGAN/blob/master/realesrgan/utils.py)

素材：照片样式输入由 apizt 原创生成；几何商品、积木、文具、纹理、线稿和透明标尺由代码原创绘制。输入/标注/官方示例均不是未运行模型的输出。
官方代码/模型、第三方依赖各保留其独立许可；包内不含模型权重或API凭证。
