UNPKG

@ibaraki-douji/waifu2x

Version:

Upscale image with waifu2x-ncnn-vulkan.

104 lines (89 loc) 2.4 kB
# Waifu2X A simple image upscaler using [waifu2x-ncnn-vulkan](https://github.com/nihui/waifu2x-ncnn-vulkan) ## Getting started `npm i @ibaraki-douji/waifu2x --save` ## Usage ### Import the lib ```js const Waifu2X = require('@ibaraki-douji/waifu2x') ``` ### Start Upscale ```js const Waifu2X = require('@ibaraki-douji/waifu2x') const input = "./path/to/image"; //const input = readFileSync('./path/to/image'); // <- Buffer const output = "./path/to/upscaled/image"; //const output = "" // <- IF BufferOutput Option const options = { /** * Noise Reduction */ noise: 0, /** * Upscale Multiplier */ scale: 2, /** * Choose your GPU * -1 = CPU */ gpu: -1, /** * Use only for CPU usage else that useless \ * The RAMLimit is the tile-size option \ * Testing to upscale a 128x128 to 4096x4096 (x32) \ * min: 32 \ * \ * 2.6 GB | 400 \ * 4.2 GB | 500 \ * 7.0 GB | 600 \ * 8.6 GB | 700 \ * 11.4 GB | 800 \ * 13.6 GB | 900 \ * 16.3 GB | 1000 */ ramLimit: 500, outputAsBuffer: false } Waifu2X.upscale(input, output, options); ``` ### Wait the end ```js const Waifu2X = require('@ibaraki-douji/waifu2x') const upscale = Waifu2X.upscale(input, output, options); upscale.finishedPromise().then(() => { console.log("Finished") }) ``` ### Get Buffer at End ```js const Waifu2X = require('@ibaraki-douji/waifu2x') const upscale = Waifu2X.upscale(input, output, options); upscale.finishedPromise().then(() => { writeFileSync("./buffer.png", upscale.endBuffer); }) ``` ### List yours GPUs ```js const Waifu2X = require('@ibaraki-douji/waifu2x') Waifu2x.listGPUs().then(console.log) ``` ## Exemple ```js const Waifu2X = require('@ibaraki-douji/waifu2x') // npm i axios const axios = require('axios').default // MAKE A ASYNC FUNCTION AT START (async () => { const upscale = Waifu2X.upscale((await axios.get('https://cdn.discordapp.com/attachments/770019121349001227/874597329594892338/in.png')).data, "./output.png", { upscale: 2, noise: 0 }); await upscale.finishedPromise() console.log("Finished"); })() ``` ## More Help and Support Discord : https://discord.gg/mD9c4zP4Er # Ask me what you want in the Discord server