resup 0.2.0

A terminal frontend for Real-ESRGAN.
# Resup
<img src="imgs/logo.svg" width="128px" align="right">

Resup is CLI front-end for `realesrgan-ncnn-vulkan` image upscaler written in Rust.
It allows you quickly upscale your images directly in CLI.

## Installation

### Install Real-ESRGAN
Resup requires `realesrgan-ncnn-vulkan` to be installed. 
Check your distro repositories for their availability.
If its not available in your distro repositories, download it from [official repository](https://github.com/xinntao/Real-ESRGAN/releases).

### Install Resup

#### Install with cargo
Use command below to install it from crates.io (make sure that you have installed Rust toolchain and C/C++ compiler).
```shell
cargo install resup
```

#### Install from releases
Go to release tab and download version that you want. Extract archive content and place executable in directory that exists in `PATH` variable.

#### Build from source
You can compile Resup manually. Clone this repository, install Rust toolchain and C/C++ compiler and run build with command below.
```shell
cargo build --release
```

## Usage
To start upscale you can use `upscale` command with the path to your file:
```shell
resup upscale my_image.jpg
```

In this example, image will be saved as `my_image-upscaled.png`. You can specify name of output image manually with `--output` argument.
```shell
resup upscale my_image.jpg --output my_image.png
```

You can get full list of available models. Use `list` command for it:
```shell
resup list
```


## Configuration
You can configure Resup for your system without need to edit configuration file. You can use Resup builtin commands for it.
- `model` - Shows currently used model. To specify new, use this command and as argument provide name of model. Example: `resup model realesrgan-x4plus-anime`. 
- `models-dir`  - Shows current path to directory with models. To specify new, use this command and as argument provide path to directory with models. Example: `resup models-dir ~/esrgan/models`.
- `executable`  - Shows current path to executable file. To specify new, use this command and as argument provide path to executable. Example: `resup executable ~/esrgan/realesrgan-ncnn-vulkan`.