Waifu2x-Extension-GUI
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, Real-ESRGAN, Real-CUGAN, RTX Video Super Resolution VSR, SRMD, RealSR, Anime4K, RIFE, IFRNet, CAIN, DAIN, and ACNet.
Top Related Projects
Image Super-Resolution for Anime-Style Art
waifu2x converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan
waifu2xのCaffe版
Quick Overview
The AaronFeng753/Waifu2x-Extension-GUI project is a graphical user interface (GUI) application that provides an easy-to-use interface for the Waifu2x image upscaling and noise reduction algorithm. Waifu2x is a popular deep learning-based tool for enhancing the quality of anime-style images, and this project makes it more accessible to users.
Pros
- User-Friendly Interface: The GUI provides a simple and intuitive interface for users to easily select input files, adjust settings, and view the upscaled output.
- Cross-Platform Compatibility: The application is available for Windows, macOS, and Linux, making it accessible to a wide range of users.
- Supports Multiple Upscaling Models: The GUI supports various Waifu2x models, allowing users to choose the one that best suits their needs.
- Batch Processing: Users can process multiple images at once, saving time and effort.
Cons
- Dependency on External Libraries: The project relies on several external libraries and tools, which may complicate the installation and setup process for some users.
- Limited Customization Options: While the GUI provides a good set of features, users who require more advanced customization options may be limited by the available settings.
- Potential Performance Issues: Depending on the hardware configuration and the size of the images being processed, the application may experience performance issues, especially when processing large batches of images.
- Occasional Bugs and Glitches: As with any software project, the GUI may occasionally encounter bugs or glitches that could affect the user experience.
Code Examples
This project is a GUI application and does not provide a code library for direct integration. However, the project's source code can be used as a reference for understanding the implementation of the Waifu2x algorithm and the integration of various libraries and tools.
Getting Started
To get started with the AaronFeng753/Waifu2x-Extension-GUI project, follow these steps:
-
Download the Executable: Visit the project's GitHub repository and download the latest release of the executable for your operating system.
-
Install Dependencies: Depending on your operating system, you may need to install additional dependencies, such as .NET Core or specific libraries. Refer to the project's documentation for detailed installation instructions.
-
Launch the Application: Run the downloaded executable to launch the Waifu2x-Extension-GUI application.
-
Select Input Files: Click the "Open" button to select the image files you want to upscale.
-
Adjust Settings: Use the various settings in the GUI to configure the upscaling process, such as the model, scale factor, and noise reduction level.
-
Process Images: Click the "Start" button to begin the upscaling process. The application will display the progress and the resulting upscaled images.
-
Save Output: Once the processing is complete, you can save the upscaled images by clicking the "Save" button.
Refer to the project's documentation for more detailed instructions, including information on batch processing, custom model loading, and troubleshooting.
Competitor Comparisons
Image Super-Resolution for Anime-Style Art
Pros of Waifu2x
- Waifu2x is a well-established and widely-used image upscaling and noise reduction tool, with a large community and extensive documentation.
- The project has a strong focus on performance and efficiency, with support for GPU acceleration and various upscaling models.
- Waifu2x offers a command-line interface, making it easy to integrate into automated workflows and scripts.
Cons of Waifu2x
- Waifu2x is primarily a command-line tool, which may be less user-friendly for some users who prefer a graphical interface.
- The project's focus on performance and efficiency may come at the expense of some advanced features or customization options.
- Waifu2x may not offer the same level of integration and convenience as a dedicated GUI application like Waifu2x-Extension-GUI.
Code Comparison
Waifu2x (nagadomi/waifu2x):
import waifu2x
import cv2
# Load the image
img = cv2.imread('input.png')
# Upscale the image
upscaled_img = waifu2x.waifu2x(img, scale=2, noise_level=1)
# Save the upscaled image
cv2.imwrite('output.png', upscaled_img)
Waifu2x-Extension-GUI (AaronFeng753/Waifu2x-Extension-GUI):
import wx
import waifu2x
class MainFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Waifu2x-Extension-GUI')
panel = MainPanel(self)
self.Show()
class MainPanel(wx.Panel):
def __init__(self, parent):
super().__init__(parent)
# GUI elements and event handlers
waifu2x converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan
Pros of waifu2x-ncnn-vulkan
- Supports Vulkan API for hardware acceleration, which can provide significant performance improvements over CPU-based processing.
- Offers a command-line interface, making it suitable for integration into automated workflows or scripts.
- Supports a wider range of input and output file formats, including JPEG, PNG, WEBP, and BMP.
Cons of waifu2x-ncnn-vulkan
- Lacks a graphical user interface (GUI), which may be less intuitive for some users compared to Waifu2x-Extension-GUI.
- Requires more technical knowledge to set up and use, as it relies on command-line arguments and configuration.
- May have a steeper learning curve for users who are not familiar with the command-line interface.
Code Comparison
Waifu2x-Extension-GUI (Python):
def on_upscale_button_clicked(self):
input_path = self.input_file_path_edit.text()
output_path = self.output_file_path_edit.text()
model_path = self.model_path_edit.text()
noise_level = self.noise_level_combobox.currentIndex()
scale_ratio = self.scale_ratio_combobox.currentIndex() + 1
self.upscale_worker.start(input_path, output_path, model_path, noise_level, scale_ratio)
waifu2x-ncnn-vulkan (C++):
int main(int argc, char** argv) {
const char* input_path = nullptr;
const char* output_path = nullptr;
int noise_level = 3;
int scale = 2;
const char* model_path = nullptr;
for (int i = 1; i < argc; i++) {
if (strcmp(argv[i], "-i") == 0) input_path = argv[++i];
else if (strcmp(argv[i], "-o") == 0) output_path = argv[++i];
else if (strcmp(argv[i], "-n") == 0) noise_level = atoi(argv[++i]);
else if (strcmp(argv[i], "-s") == 0) scale = atoi(argv[++i]);
else if (strcmp(argv[i], "-m") == 0) model_path = argv[++i];
}
// ...
}
waifu2xのCaffe版
Pros of waifu2x-caffe
- Supports a wider range of input and output formats, including JPEG, PNG, BMP, and TIFF.
- Provides a command-line interface, which may be more suitable for advanced users or integration into scripts.
- Offers a more extensive set of configuration options, allowing for greater customization of the upscaling process.
Cons of waifu2x-caffe
- Requires more technical knowledge to set up and use, as it lacks a graphical user interface (GUI) like Waifu2x-Extension-GUI.
- May have a steeper learning curve for users who are less comfortable with the command line.
- Doesn't provide the same level of user-friendliness and ease of use as Waifu2x-Extension-GUI.
Code Comparison
Here's a brief comparison of the code for the two projects:
Waifu2x-Extension-GUI (Python):
def on_button_click(self):
input_path = self.input_path_entry.get()
output_path = self.output_path_entry.get()
model = self.model_combobox.get()
noise_level = self.noise_level_combobox.get()
scale = self.scale_combobox.get()
# Process the image using the selected settings
process_image(input_path, output_path, model, noise_level, scale)
waifu2x-caffe (C++):
int main(int argc, char** argv) {
po::options_description desc("Allowed options");
// Define command-line options
desc.add_options()
("help", "produce help message")
("input-dir", po::value<string>(), "input directory")
("output-dir", po::value<string>(), "output directory")
("model-dir", po::value<string>(), "model directory")
("scale", po::value<int>(), "upscale ratio (2, 3, 4)")
("noise-level", po::value<int>(), "noise reduction level (0, 1, 2, 3)");
// Parse command-line arguments
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
// Perform image upscaling
upscale_images(vm["input-dir"].as<string>(), vm["output-dir"].as<string>(),
vm["model-dir"].as<string>(), vm["scale"].as<int>(),
vm["noise-level"].as<int>());
return 0;
}
Pros of bilibili/ailab
- Comprehensive collection of AI-related projects and resources
- Active community with frequent updates and contributions
- Diverse range of AI models and applications
Cons of bilibili/ailab
- Steep learning curve for beginners due to the complexity of the projects
- Limited documentation and support for some of the less popular projects
- Potential compatibility issues with different hardware and software configurations
Code Comparison
Here's a brief code comparison between the two repositories:
AaronFeng753/Waifu2x-Extension-GUI
def waifu2x(self, image_path, output_path, model_path, scale_ratio, noise_level):
"""
Upscale and denoise an image using the Waifu2x model.
"""
model = Waifu2xModel(model_path)
image = Image.open(image_path)
image = model.upscale(image, scale_ratio, noise_level)
image.save(output_path)
bilibili/ailab
def train_model(self, train_data, val_data, model_config, train_config):
"""
Train a machine learning model using the provided data and configurations.
"""
model = create_model(model_config)
optimizer = get_optimizer(train_config)
loss_fn = get_loss_function(train_config)
model.fit(train_data, val_data, optimizer, loss_fn, train_config)
return model
The code snippets demonstrate the different approaches taken by the two repositories. AaronFeng753/Waifu2x-Extension-GUI focuses on a specific task of image upscaling and denoising, while bilibili/ailab provides a more general framework for training machine learning models.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Waifu2x-Extension-GUI
Photo/Video/GIF enlargement and Video frame interpolation using machine learning
Supports AMD / Nvidia / Intel GPU
ðä¸æ 说æææ¡£
ð¾Download Latest Stable Build (Windows x64)
Download Latest portable package for Windows x64
PCs with Intel/AMD/Nvidia
GPUs.
Download Latest Buildâ¡: https://github.com/AaronFeng753/Waifu2x-Extension-GUI/releases/latest
â¡Get â¨Premium version on Patreon: https://patreon.com/aaronfeng
ðFull change log
Supported Languages: English, ç®ä½ä¸æ, ç¹é«ä¸æ.
What is Waifu2x-Extension-GUI?
Image
& GIF
& Video
Super-Resolution
and Video Frame Interpolation
using Deep Convolutional Neural Networks.
â¨Key features:
-
ð¡EASY TO USE: Just Unzip and Start. And built-in
Settings Presets
can help you adjust all the settings withONE Click
. -
ðºMultimedia support: Supports processing Image & Animated GIF&APNG&WebP & Video at the same time.
-
ðFull image style support: Multiple built-in algorithms, 2D anime, or your daily photos & videos, this software can handle all of them.
-
ðVideo frame interpolation: Automatically use AI to interpolate frames after enlarge the video.
-
â¡Video Frame Analysis: Analyze video frames to Improve video Quality and Speed Up video processing.
-
â Great compatibility: Multiple built-in engines, compatible with almost all modern Windows PCs.
- ðFlexible multi-thread setting: You can adjust the number of threads freely while providing a complete set of settings for each engine, Take advantage of all the capabilities of your PC.
- ðððMulti-GPU support: Multi-GPU support for ALL built-in engines.
- ð Numerous customizable settings: You can automate your workflow by adjusting the many customizable settings in the software.
- ð¤Smart settings: This software can automatically adjust some software settings based on your PC hardware information and the information of the files you want to process.
- ðEasy-to-use graphical user interface.
- ð¨Continual maintenance and updates.
Built-in super-resolution algorithms:
Waifu2x / SRMD / RealSR / Real-ESRGAN / Real-CUGAN / Anime4K
ACNet / RTX Super Resolution (RTX VSR / RTX Video Super Resolution)
Built-in super-resolution engines:
Waifu2x-caffe / Waifu2x-converter / Waifu2x-ncnn-vulkan
SRMD-ncnn-vulkan / RealSR-ncnn-vulkan / Anime4KCPP / SRMD-CUDA
RealESRGAN-NCNN-Vulkan / Real-CUGAN-ncnn-vulkan / RTX Super Resolution
Built-in Video frame interpolation algorithms:
RIFE / CAIN / DAIN / IFRNet
Built-in Video frame interpolation engines:
rife-ncnn-vulkan / cain-ncnn-vulkan / dain-ncnn-vulkan
IFRNet-ncnn-vulkan
â
Already been tested on the AMD
RX 550, NVIDIA
GeForce RTX 3060/4060 and Intel
UHD 620.
Samplesð
â¡Comparison(3D Real-life)
Photo by Jonatan Pie on Unsplash
â¡Comparison(2D Anime)
Original 2D Anime Image 480x300:
After 4x Upscale, Denoise and JPG compression 1920x1200: ðComparison
Original GIF 500 x 372:
After 2x Upscale, Denoise and GIF optimization 1000 x 744:
Github doesn't support online video playback, please check link below:
Video
: https://github.com/AaronFeng753/Waifu2x-Extension-GUI/tree/master/Samples/video
⤠Donate ⤠(æ¨èä½¿ç¨ æ¯ä»å® æè 微信)
PayPal
å¦ææèµ äºç»´ç å¾çæ æ³æ£å¸¸å è½½,请æå¼æ¤é¾æ¥æ¥çæè åæ³çè¿æ¥å½é ç½ç»åå·æ°é¡µé¢, å½ç¶æ¨ä¹å¯ä»¥æç §è¿ä¸ªæç¨æ¥å°è¯ä¿®å¤githubå¾çå è½½çé®é¢.
ðLicense
Waifu2x-Extension-GUI is free for PERSONAL USE ONLY.
If you wish to use Waifu2x-Extension-GUI commercially, please purchase the Premium version from:
https://www.patreon.com/aaronfeng
Privacy policyððð
We respect your privacy, so the following is the privacy policy of this software:
1. This software won't upload anything to the internet, so we won't collect any data from you, we don't even have a server.
2. This software will only connect to the internet when checking for new updates and update the QRCode on the Donate tab, which
will download two .ini files and two .jpg files from GitHub and Gitee. (Gitee is a copycat version of GitHub in The
People's Republic of China, you can disable downloading anything from Gitee by enabling [Ban Gitee] in [Additional settings])
In conclusion, we won't collect any data from you.
ðCreditsð:
- â¤All donorsâ¤
- Special thanks to @CAFUCSteven for helping me test the software, report multiple bugs and give me multiple suggestions.
- Special thanks to @MrZihan for create the SRMD-CUDA engine and help me integrated it in the Waifu2x-Extension-GUI.
- Anime4K: https://github.com/bloc97/Anime4K
- Anime4KCPP: https://github.com/TianZerL/Anime4KCPP
- APNG Assembler: https://sourceforge.net/projects/apngasm/
- APNG Disassembler: https://sourceforge.net/projects/apngdis/
- APNG Optimizer: https://sourceforge.net/projects/apng/files/APNG_Optimizer/
- Beautiful Soup: https://www.crummy.com/software/BeautifulSoup/
- cain-ncnn-vulkan: https://github.com/nihui/cain-ncnn-vulkan
- Channel Attention Is All You Need for Video Frame Interpolation: https://github.com/myungsub/CAIN
- DAIN ncnn Vulkan: https://github.com/nihui/dain-ncnn-vulkan
- DAIN (Depth-Aware Video Frame Interpolation): https://github.com/baowenbo/DAIN
- FFmpeg: https://ffmpeg.org/
- FFmpeg Builds - gyan.dev: https://www.gyan.dev/ffmpeg/builds/
- FFmpeg Builds - Zeranoe (This website has ceased operations): https://ffmpeg.zeranoe.com/builds/
- Gifsicle: https://www.lcdf.org/gifsicle/
- GIMP: https://www.gimp.org/
- GNU Wget: https://www.gnu.org/software/wget/
- IFRNet: https://github.com/ltkong218/IFRNet
- ifrnet-ncnn-vulkan: https://github.com/nihui/ifrnet-ncnn-vulkan
- ImageMagick: http://www.imagemagick.org/
- ImDisk Toolkit: https://sourceforge.net/projects/imdisk-toolkit/
- NCNN: https://github.com/Tencent/ncnn
- NirCmd: https://www.nirsoft.net/utils/nircmd.html
- NSIS: https://nsis.sourceforge.io/
- Nvidia: https://www.nvidia.com/
- OpenCV: https://opencv.org/
- Pillow: https://python-pillow.org/
- PyInstaller: https://github.com/pyinstaller/pyinstaller
- Python: https://www.python.org/
- QT: https://www.qt.io/
- Real-CUGAN: https://github.com/bilibili/ailab
- realcugan-ncnn-vulkan: https://github.com/nihui/realcugan-ncnn-vulkan
- Real-ESRGAN: https://github.com/xinntao/Real-ESRGAN
- RealSR-ncnn-vulkan: https://github.com/nihui/realsr-ncnn-vulkan
- Real-World Super-Resolution: https://github.com/jixiaozhong/RealSR
- rife-ncnn-vulkan: https://github.com/nihui/rife-ncnn-vulkan
- RIFE Video Frame Interpolation: https://github.com/hzwer/arXiv2020-RIFE
- SoX: http://sox.sourceforge.net/
- SRMD: https://github.com/cszn/SRMD
- SRMD-ncnn-Vulkan: https://github.com/nihui/srmd-ncnn-vulkan
- Super-resolution-SR-CUDA: https://github.com/MrZihan/Super-resolution-SR-CUDA
- Waifu2x: https://github.com/nagadomi/waifu2x
- Waifu2x-caffe: https://github.com/lltcggie/waifu2x-caffe
- Waifu2x-converter: https://github.com/DeadSix27/waifu2x-converter-cpp
- Waifu2x-Extension: https://github.com/AaronFeng753/Waifu2x-Extension
- Waifu2x-ncnn-vulkan: https://github.com/nihui/waifu2x-ncnn-vulkan
- psd2waifu2xé å¸ã»ãµãã¼ããã¼ã¸ | æ稿è : HIMAKIKUROGANE
- Icons made by : Freepik & Roundicons & Icongeek26 From Flaticon : https://www.flaticon.com/
- Thanks to @uimee for ç¹é«ä¸æ translation.
- Thanks to @Nova-Aurora for fixing several errors in the English README.
- Thanks to @Michael18751 for adding a fadeout effect to the notification sound.
- Thanks to @CaptainStabs for fixing several English grammar errors.
Top Related Projects
Image Super-Resolution for Anime-Style Art
waifu2x converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan
waifu2xのCaffe版
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot