实用、美观的 Real-ESRGAN 图形界面,同时支持 Windows、Ubuntu 和 macOS 平台。现在也支持 Real-CUGAN 了!(Cross-platform GUI for image upscaler Real-ESRGAN with additional features. Now with
实用、美观的 Real-ESRGAN 图形界面,同时支持 Windows、Ubuntu 和 macOS 平台。现在也支持 Real-CUGAN 了!(Cross-platform GUI for image upscaler Real-ESRGAN with additional features. Now with
实用、美观的图片放大工具 Real-ESRGAN 的图形界面,参考 waifu2x-caffe 设计。
README translations这个程序是 Real-ESRGAN 的命令行程序 Real-ESRGAN-ncnn-vulkan 的图形界面,使用 Python 和 tkinter 编写,同时支持 Windows、Ubuntu 和 macOS 平台。
快速上手:
realesrgan-gui-windows-bundled-v*.7z,解压后打开 realesrgan-gui.exe 即可使用。realesrgan-gui-ubuntu-bundled-v*.tar.xz,解压后打开 realesrgan-gui 即可使用。realesrgan-gui-macos-appbundle-v*.tar.xz,解压后在终端中执行 chmod u+x "Real-ESRGAN GUI.app/Contents/MacOS/realesrgan-gui"、chmod u+x "Real-ESRGAN GUI.app/Contents/MacOS/realesrgan-ncnn-vulkan" 和 xattr -cr "Real-ESRGAN GUI.app",打开 Real-ESRGAN GUI 即可使用。[!TIP] Real-ESRGAN-ncnn-vulkan 从 2022 年 4 月开始就没有更新了,可以使用 upscayl/upscayl-ncnn 这个仍然在维护的分支作为替代。
下载最新的 Release 并将压缩包中的
upscayl-bin[.exe]解压到 GUI 的主程序所在的目录,它将会被优先使用。
其它的运行方式和说明[!TIP] 你也可以在 Real-ESRGAN GUI 中使用 Real-CUGAN 进行放大!详细配置方法参见这里。
realesrgan-gui-windows.7z 和 realesrgan-gui-ubuntu.tar.xz 不包含 Real-ESRGAN-ncnn-vulkan 的主程序和官方模型,请自行在这里下载后解压到 GUI 的主程序所在的目录。pip install -r requirements.txt 安装依赖,将 Real-ESRGAN-ncnn-vulkan 解压到项目目录,然后执行 main.py。如果你想要贡献 Real-ESRGAN GUI,请查看 CONTRIBUTING.md。
arm64 或 x86_64 单架构的 Real-ESRGAN GUI.app经实测,arm64 单架构比 universal2 双架构在 Apple 芯片 Mac 上的性能表现要更加出色,因此建议 Apple 芯片用户自行打包 arm64 单架构应用程序。
另外,x86_64 单架构虽然在性能上与 universal2 双架构相同,但应用体积更小。
intel 芯片设备上打包得到x86_64 单架构应用,apple 芯片设备上打包得到arm64 单架构应用。Python 3.11环境下,打包前在终端输入python3 -V确认当前版本是否3.11brew install python-tkpyinstaller 打包环节,sudo 命令需要输入开机密码。curl -L https://raw.githubusercontent.com/TransparentLC/realesrgan-gui/master/macos-build-script.sh | bash
打包好的应用在“下载”文件夹内,请手动拖拽应用到“应用程序”文件夹完成安装。
[!WARNING] 由于我没有运行 macOS 的设备,因此可能无法处理和 macOS 相关的使用问题。
在原版支持的功能的基础上,增加了以下功能:
locale.getdefaultlocale 获取)一致。i18n.ini)| Nearest Neighbor | Lanczos | waifu2x-caffe | Real-ESRGAN |
|---|---|---|---|
| Nearest Neighbor | Lanczos | waifu2x-caffe | Real-ESRGAN |
|---|---|---|---|
| Nearest Neighbor | Real-ESRGAN |
|---|---|
| Nearest Neighbor | Real-ESRGAN |
|---|---|
UpResNet10 和 UpPhoto 模型,降噪等级 3,开启 TTA。realesrgan-x4plus-anime 和 realesrgan-x4plus 模型,开启 TTA。对于三次元图片建议使用 realesrgan-x4plus,对于二次元图片建议使用 realesrgan-x4plus-anime。
对于同一系列模型的不同倍率版本,建议选择等于或大于想要将图片放大的倍率的版本。例如在想要将图片放大到 3x 但是只有 x2 和 x4 模型的情况下,应该选择 x4 的模型。
带有 animevideo 的几个模型是针对二次元视频使用的,特点是模型文件较小以及处理速度较快(我自己的测试是 realesrgan-x4plus-anime 的 1.5x 到 3x 不等)。不过这个 GUI 并不会考虑加入视频处理功能。
你也可以在这里下载使用第三方的附加模型,对于某些图片(特别是三次元图片)可能会有比官方模型更好的效果,请根据实际情况自由尝试。将模型的文件名相同的 bin 和 param 文件放在 models 目录,主程序在启动后会自动识别到这些模型。
对应原版的 -t tile-size 参数。“自动设定”已经可以满足日常使用了,但是如果想要自己设定的话,在显存充足的情况下建议使用较大的值,处理速度更快,放大后的图片质量更好,细节更多(虽然可能不太明显)。
将 Real-ESRGAN-ncnn-vulkan 自带的 256x256 的测试图使用 realesrgan-x4plus 模型在 TTA 模式下放大到 4x,选择不同的拆分大小的效果:32,256 或以上。
#32 有更详细一些的解释。
理论上可以稍微提升放大后的图片的质量,但是实际上效果非常不明显,还会使处理时间增加数倍,因此一般情况下没有开启的必要。
我自己选择了几张 1200px 以上的高清二次元图片进行实验:先将原图缩小到 1/4,再使用 realesrgan-x4plus-anime 模型在使用或不使用 TTA 的情况下放大 4x,比较放大后图片和原图的 SSIM(范围为 0-1,值越大表示两张图越相似)。结果使用 TTA 的 SSIM 仅比不使用高出 0.002 左右,目视就更看不出差异了。
GIF 只支持最多 256 种 RGB 颜色的调色板并设定其中一种颜色为透明色(可选),也就是说不存在半透明的情况。对于存在透明部分的 GIF,这就出现了两个问题:
#FFFFFF,将帧另存为后可能会变成 #000000,虽然只看图片的话并没有区别。对于使用 Real-ESRGAN 直接放大 GIF 的每一帧的做法(示例),上面两个问题的影响是:
这个选项就是针对这两个问题而添加的,启用后会添加以下操作:
这个选项是实验性的,建议在放大存在透明部分的 GIF 时手动开启,在放大不存在透明部分的 GIF 时关闭。可能是由于这里的实现或 Pillow 对 GIF 的处理存在问题,在开启时处理后者会出现一些奇怪的问题(主要是出现不该出现的透明色以及仿色效果非常差)。也许会有更好的处理方法。
开启“使用有损压缩”以后,如果输出的文件是 JPEG 或 WebP 格式,就可以根据设定的值(0-100 表示从低质量到高质量)控制输出的文件的压缩质量了。如果输入的是文件夹,则放大文件夹中 JPEG 或 WebP 格式的图片时输出的压缩质量也会受这个选项影响。压缩使用 Python 的图像处理库 Pillow 完成。
不开启这个选项的话,输出为 WebP 格式时使用的是无损压缩。
如果设定了“自定义压缩/后期处理命令”,则不会进行上面的压缩操作。在这里你可以输入一条命令对放大后的图片进行压缩或其他的处理,还可以自定义命令中的参数。
{input} 表示输入文件的路径。{output} 表示输出文件的路径。{output:ext} 表示输出文件的路径,但把扩展名修改为 ext。avifenc --speed 6 --jobs all --depth 8 --yuv 420 --min 0 --max 63 -a end-usage=q -a cq-level=30 -a enable-chroma-deltaq=1 --autotiling --ignore-icc --ignore-xmp --ignore-exif {input} {output:avif}cjxl {input} {output:jxl} --quality=80 --effort=9 --progressive --verbosegif2webp -lossy -q 80 -m 6 -min_size -mt -v {input} -o {output:webp}magick convert -fill white -pointsize 24 -gravity SouthEast -draw "text 16 16 'https://github.com/TransparentLC/realesrgan-gui'" -quality 80 {input} {output:avif}请忽略“基本设定”的“输出”的扩展名,实际的输出文件扩展名由设定的命令决定。
项目目录或打包后的可执行文件所在目录下的 config.ini,没有这个文件的情况下会使用默认的配置。在退出程序时会自动保存配置。
如果因为配置文件的问题导致程序不能运行的话,可以先尝试将配置文件删除。
有些用户是这么认为的,所以我决定添加对 Real-CUGAN 的支持。
想要使用 Real-CUGAN 而不是 Real-ESRGAN 进行放大的话,请遵循以下步骤:
config.ini 中将 upscaler 设定为 realcugan-ncnn-vulkan[.exe] 的路径models-{nose,pro,se} 三个文件夹)放入 models 文件夹(或是 config.ini 的 modeldir 指定的目录)Real-ESRGAN 的 GUI 当然不止一个,这里列出了其中的一部分,并且附上了我没有使用它们而是选择自己写一个 GUI 的理由。
这是一个“全家桶”类型的工具箱,它不仅整合了用于图像放大的 waifu2x、Anime4k、Real-SR、SRMD、Real-ESRGAN、Real-CUGAN……还包含了用于视频插帧的 CAIN、DAIN、RIFE,以及 ffmpeg、ImageMagick、gifsicle、nircmd、wget 等辅助工具。只支持 Windows。
不过,功能繁多也使它的界面和设定都变得非常复杂,但其中的大部分功能并不是我会用到的。在它是开源软件的时候我曾经是它的用户,但作者从 2021 年 5 月的 v3.41.01 开始修改了 LICENSE 转为闭源,并会在每次启动和处理完成时显示购买高级版的广告。
虽然我并不依赖那些高级版限定的功能,但这些改变还是使我产生了编写符合自己的需求的轻量级 GUI(也就是这个项目)的想法。
用 Electron 实现的 GUI,同样实现了跨平台。由于使用的是前端技术,界面和交互都很容易做得非常出色,甚至还有将原图和放大后的图片进行对比的功能。文档也非常详细。
不过它仍然缺少了一些功能,例如处理 GIF、自定义后处理命令等。另外,它目前还没有多语言支持。
另外,因为它是使用 Electron 实现的,所以它的用户又要多安装一个 Chromium 内核了 Upscayl 的大小约为 400 MB,相比之下 Real-ESRGAN GUI 仅有 10 MB 左右(Windows 版,排除 Real-ESRGAN-ncnn-vulkan 主程序和模型)。
这些 GUI 基本上都是对 CLI 参数的简单封装,没有多少额外的功能。
不过,我很喜欢 tsukumijima/Real-ESRGAN-GUI 使用的 Material Design 风格,它也支持 Real-CUGAN。
感谢 @blacklein 和 @hyrulelinks 提供在 macOS 下使用这个 GUI 和打包为应用程序的帮助,还有其他的贡献者们!
是必须安装py吗
Automated build 20240602-060617版本,M1无法打开
What is the best model for 4K anime videos?
Add "8x_NMKD-Typescale model" (best to upscale text)
项目中用到的tkinter(tcl和tk)可否更新到兼容9.0大版本,目前项目需要的是8.6大版本