| |
|
| | import math |
| | import os |
| | import sys |
| | import traceback |
| | import random |
| |
|
| | import modules.scripts as scripts |
| | import modules.images as images |
| | import gradio as gr |
| |
|
| | from modules.processing import Processed, process_images |
| | from PIL import Image |
| | from modules.shared import opts, cmd_opts, state |
| |
|
| | class Script(scripts.Script): |
| | def title(self): |
| | return "Lanczos quick upscale" |
| |
|
| | def ui(self, is_img2img): |
| | upscale_factor = gr.Slider(minimum=1, maximum=4, step=0.1, label='Upscale factor', value=2) |
| | return [upscale_factor] |
| |
|
| | def run(self, p, upscale_factor): |
| | infotexts = [] |
| | def simple_upscale(img, upscale_factor): |
| | w, h = img.size |
| | w = int(w * upscale_factor) |
| | h = int(h * upscale_factor) |
| | return img.resize((w, h), Image.Resampling.LANCZOS) |
| |
|
| | state.job_count = p.n_iter |
| | p.n_iter = 1 |
| | p.do_not_save_samples = True |
| | output_images = [] |
| | for batch_no in range(state.job_count): |
| | |
| | proc = process_images(p) |
| | infotexts.append(proc.info) |
| | proc.images[0] = simple_upscale(proc.images[0], upscale_factor) |
| | images.save_image(proc.images[0], p.outpath_samples, "", proc.seed, proc.prompt, opts.samples_format, info= proc.info, p=p) |
| | output_images += proc.images |
| | p.seed = proc.seed + 1 |
| |
|
| | return Processed(p, images, infotexts=infotexts,index_of_first_image=0) |
| |
|