High-performance Python wrapper for waifu2x-ncnn-vulkan with GPU/CPU support
Project description
Waifu2x Python
Python wrapper for waifu2x-ncnn-vulkan with a simple and powerful interface for image and video frame upscaling.
Features
- High-performance image upscaling using waifu2x-ncnn-vulkan
- Support for multiple image formats (PNG, JPG, WEBP, etc.)
- Multiple models including anime and photo styles
- GPU acceleration with fallback to CPU
- Batch processing of multiple images
- Progress tracking and error handling
Installation
pip install waifu2x-python
Dependencies
- waifu2x-ncnn-vulkan
- Python 3.8+
- OpenCV
- NumPy
- Pillow
Usage
Basic Example
from waifu2x_python import Waifu2x, ProcessingConfig
# Initialize with default settings
waifu2x = Waifu2x()
# Process a single image
result = waifu2x.process("input.jpg", "output_2x.jpg")
print(f"Processed image saved to: {result.output_path}")
Advanced Configuration
from waifu2x_python import Waifu2x, ProcessingConfig, ModelType
# Custom configuration
config = ProcessingConfig(
model=ModelType.UPCONV_7_ANIME, # or ModelType.CUNET, ModelType.UP_PHOTO, etc.
scale=2, # 1, 2, 4, 8, 16, 32
noise=1, # -1 to 3 (-1 = no effect, 0 = no noise reduction, 1-3 = noise reduction level)
gpu_id=0, # -1 for CPU-only, 0 for first GPU, 1 for second GPU, etc.
tile_size=0, # 0 for auto
num_threads=4, # Number of CPU threads to use
verbose=True # Enable verbose output
)
waifu2x = Waifu2x(config=config)
# Process all images in a folder
results = waifu2x.process_folder("input_folder", "output_folder")
print(f"Processed {len([r for r in results if r.success])}/{len(results)} images successfully")
Command Line Interface
# Basic usage
waifu2x -i input.jpg -o output.png
# Process folder recursively
waifu2x -i input_folder -o output_folder -r
# Custom settings
waifu2x -i input.jpg -o output.png -m models-upconv_7_anime_style_art_rgb -s 2 -n 1 -g 0 -t 200
# CPU-only mode
waifu2x -i input.jpg -o output.png -g -1
Available Models
models-cunet- High quality denoising and upscaling (default)models-upconv_7_anime_style_art_rgb- For anime-style artmodels-upconv_7_photo- For photosmodels-upconv_7_anime_style_art_rgb_noise0- For clean anime-style artmodels-upconv_7_anime_style_art_rgb_noise1- For slightly noisy anime-style artmodels-upconv_7_anime_style_art_rgb_noise2- For noisy anime-style artmodels-upconv_7_anime_style_art_rgb_noise3- For very noisy anime-style art
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- waifu2x-ncnn-vulkan - The underlying engine
- ncnn - High-performance neural network inference framework
- Vulkan - Cross-platform 3D graphics and compute API
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
waifu2x_python-2.0.1.tar.gz
(22.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waifu2x_python-2.0.1.tar.gz.
File metadata
- Download URL: waifu2x_python-2.0.1.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae951c6c4c3bd5fe1b2a50e982af6a810c9acc1d9441dff925749a3be849bf0e
|
|
| MD5 |
e44ffc332d39efe26e1cbbaaa2633e32
|
|
| BLAKE2b-256 |
041d81afa3d7684b8c5f7f2e4ddeaab692b788c7d85fbb2448dc263d1dc19ea2
|
File details
Details for the file waifu2x_python-2.0.1-py3-none-any.whl.
File metadata
- Download URL: waifu2x_python-2.0.1-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
415b3daf59fae3dfb8df91dbf037fe9d3009d11b839ed000f4a69392da160552
|
|
| MD5 |
ed413dd6a306edf154782d22c1c1ae1b
|
|
| BLAKE2b-256 |
cd6d8b2083029a466b6b46b8cee3e29d2d9ddc6fd4e7883dc123ed63e37b72ff
|