Convert Figma logo to code with AI

AaronFeng753 logoWaifu2x-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.

12,989
874
12,989
76

Top Related Projects

27,513

Image Super-Resolution for Anime-Style Art

waifu2x converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan

waifu2xのCaffe版

5,605

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:

  1. Download the Executable: Visit the project's GitHub repository and download the latest release of the executable for your operating system.

  2. 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.

  3. Launch the Application: Run the downloaded executable to launch the Waifu2x-Extension-GUI application.

  4. Select Input Files: Click the "Open" button to select the image files you want to upscale.

  5. Adjust Settings: Use the various settings in the GUI to configure the upscaling process, such as the model, scale factor, and noise reduction level.

  6. Process Images: Click the "Start" button to begin the upscaling process. The application will display the progress and the resulting upscaled images.

  7. 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

27,513

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;
}
5,605

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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 with ONE 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.

mainwindow

Engine_Settings

VideoSettings_EN

Additional_Settings

Samples👀

➡Comparison(3D Real-life)

Photo by Jonatan Pie on Unsplash

Comparison

➡Comparison(2D Anime)

Comparison

Original 2D Anime Image 480x300:

Original Imgae

After 4x Upscale, Denoise and JPG compression 1920x1200: 🔗Comparison

Scaled Imgae

Original GIF 500 x 372:

Original GIF

After 2x Upscale, Denoise and GIF optimization 1000 x 744:

Original GIF

Github doesn't support online video playback, please check link below:

Video : https://github.com/AaronFeng753/Waifu2x-Extension-GUI/tree/master/Samples/video

❤ Donate ❤ (推荐使用 支付宝 或者 微信)

Patreon donate button

PayPal

donate_new

如果捐赠二维码图片无法正常加载,请打开此链接查看或者合法的连接国际网络后刷新页面, 当然您也可以按照这个教程来尝试修复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💝: