| | import modules.scripts as scripts |
| | import gradio as gr |
| | import os |
| | from modules import images |
| | from modules.processing import process_images, Processed |
| | from modules.processing import Processed |
| | from modules.shared import opts, cmd_opts, state |
| |
|
| | class Script(scripts.Script): |
| |
|
| | def title(self): |
| | return "Unsharp Mask" |
| |
|
| | |
| |
|
| | def show(self, is_img2img): |
| | return is_img2img |
| |
|
| | |
| |
|
| | def ui(self, is_img2img): |
| | save = gr.Checkbox(False, label="Save original and effect") |
| | umradius = gr.Slider(minimum=0.0, maximum=1000.0, step=1, value=0, label="Radius") |
| | umpercent = gr.Slider(minimum=0.0, maximum=500.0, step=1, value=0, label="Percent") |
| | umthreshold = gr.Slider(minimum=0.0, maximum=255.0, step=1, value=0, label="Threshold") |
| | return [save, umradius, umpercent, umthreshold] |
| |
|
| | |
| | def run(self, p, save, umradius, umpercent, umthreshold): |
| |
|
| | |
| | def unsharp_mask(im, umradius, umpercent, umthreshold): |
| | from PIL import Image, ImageFilter |
| | raf = im |
| | raf = raf.filter(filter=ImageFilter.UnsharpMask(radius = umradius, percent = umpercent, threshold = umthreshold)) |
| | return raf |
| |
|
| | |
| | basename = "" |
| | if(save): |
| | basename += "unsharpmask_" |
| | else: |
| | p.do_not_save_samples = True |
| |
|
| | |
| | proc = process_images(p) |
| |
|
| | for i in range(len(proc.images)): |
| |
|
| | proc.images[i] = unsharp_mask(proc.images[i], umradius, umpercent, umthreshold) |
| | images.save_image(proc.images[i], p.outpath_samples, basename, |
| | proc.seed + i, proc.prompt, opts.samples_format, info= proc.info, p=p) |
| |
|
| | return proc |
| |
|