@ibaraki-douji/waifu2x
Version:
Upscale image with waifu2x-ncnn-vulkan.
104 lines (89 loc) • 2.4 kB
Markdown
# 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