pixteroid
v1.0.2
Published
Pixteroid is a Node.js API designed for efficient image upscaling and restoration, powered by AI and utilizing the NCNN framework. It employs Real-ESRGAN and ESRGAN model weights to upscale and restore images, providing three distinct levels of detail and
Downloads
48
Maintainers
Keywords
Readme
Pixteroid - AI-Powered Image Upscaling and Restorative API
Supported Platforms
Table of Contents 📝
Features and Benefits ✨
- AI-Powered Upscaling and Restoration: Leverages AI-powered Real-ESRGAN and ESRGAN models to upscale and restore images with enhanced quality.
- Multiple Detail Levels: Offers three levels of detail to cater to different use cases, from quick previews to high-resolution prints.
- Custom Size Scaling: Supports custom size scaling to fit specific dimensions while preserving image quality.
- Efficient Performance: Built on the NCNN framework, ensuring optimized performance across different platforms.
- Simple Integration: Easily integrate into any Node.js project with straightforward API calls.
- Open Source: Fully open-source, with ongoing updates and community contributions.
Use Cases ✅
- Graphic Design: Enhance and restore low-resolution images for use in high-quality designs.
- E-commerce: Automatically upscale and restore product images for better visual appeal.
- Print Media: Prepare and restore images for print without losing detail, even from smaller sources.
- AI Research: Utilize advanced upscaling and restoration models for experimental and research purposes.
- Web Development: Improve and restore image quality on websites with minimal load time impact.
- Photography: Restore and enhance old or low-resolution photographs.
🙏🏻 Friendly Request to Users
Every star on this repository is a sign of encouragement, a vote of confidence, and a reminder that our work is making a difference. If this project has brought value to you, even in the smallest way, please consider showing your support by giving it a star. ⭐
"Star" button located at the top-right of the page, near the repository name.
Your star isn’t just a digital icon—it’s a beacon that tells us we're on the right path, that our efforts are appreciated, and that this work matters. It fuels our passion and drives us to keep improving, building, and sharing.
If you believe in what we’re doing, please share this project with others who might find it helpful. Together, we can create something truly meaningful.
Thank you for being part of this journey. Your support means the world to us. 🌍💖
Installation - Step-by-Step Guide 🪜
- Step 1: Install using npm.
npm install pixteroid
- Step 2: Follow Demo repository - pixteroid-demo
Usage
Upscale single image at a time.
const { upscale } = require("pixteroid");
const { join, relative } = require("path");
const imagePath = "image-samples/0200.png";
const outputPath = join("single-output", relative(process.cwd(), imagePath));
const level = "level1"; //level1 or level2 or level3 - low to higher level
upscale(imagePath, outputPath, level)
.then(() => {
console.log("done");
})
.catch((err) => {
console.log(err);
});
Upscale multiple images asynchronously.
const { globSync } = require("glob");
const { upscaleAll } = require("pixteroid");
/* only 50 samples taken by slicing */
const imagePaths = globSync("image-samples/**.jpg").slice(0, 50);
const destinationPath = "output-samples";
const level = "level1"; //level1 or level2 or level3 - low to higher level
const batchSize = 2; //This is optional parameter def=2
upscaleAll(imagePaths, destinationPath, level, batchSize)
.then(() => {
console.log("done");
})
.catch((err) => {
console.log(err);
});
In-Action 🤺
License ©️
This project is licensed under the Apache License 2.0.
Contributing to Our Project 🤝
We’re always open to contributions and fixing issues—your help makes this project better for everyone.
If you encounter any errors or issues, please don’t hesitate to raise an issue. This ensures we can address problems quickly and improve the project.
For those who want to contribute, we kindly ask you to review our Contribution Guidelines before getting started. This helps ensure that all contributions align with the project's direction and comply with our existing license.
We deeply appreciate everyone who contributes or raises issues—your efforts are crucial to building a stronger community. Together, we can create something truly impactful.
Thank you for being part of this journey!
Website 🌐
npmjs - pixteroid
Contact Information
For any questions, please reach out via [email protected] or LinkedIn.
Credits 🙏🏻
I would like to extend our gratitude to Xintao for implementing Real-ESRGAN with the NCNN framework. Special thanks to Tencent for creating the NCNN framework, a high-performance neural network inference computing framework optimized for mobile platforms. NCNN is designed with mobile deployment in mind, is cross-platform, and runs faster than all known open-source frameworks on mobile CPUs. It is currently used in various Tencent applications, such as QQ, Qzone, WeChat, and Pitu.