mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-12-26 20:02:31 -08:00
Added UI elements to control blending parameters.
This commit is contained in:
parent
a6e5846453
commit
debf836fcc
7 changed files with 82 additions and 5 deletions
|
|
@ -116,7 +116,47 @@ def process_batch(p, input_dir, output_dir, inpaint_mask_dir, args, to_scale=Fal
|
|||
process_images(p)
|
||||
|
||||
|
||||
def img2img(id_task: str, mode: int, prompt: str, negative_prompt: str, prompt_styles, init_img, sketch, init_img_with_mask, inpaint_color_sketch, inpaint_color_sketch_orig, init_img_inpaint, init_mask_inpaint, steps: int, sampler_name: str, mask_blur: int, mask_alpha: float, inpainting_fill: int, n_iter: int, batch_size: int, cfg_scale: float, image_cfg_scale: float, denoising_strength: float, selected_scale_tab: int, height: int, width: int, scale_by: float, resize_mode: int, inpaint_full_res: bool, inpaint_full_res_padding: int, inpainting_mask_invert: int, img2img_batch_input_dir: str, img2img_batch_output_dir: str, img2img_batch_inpaint_mask_dir: str, override_settings_texts, img2img_batch_use_png_info: bool, img2img_batch_png_info_props: list, img2img_batch_png_info_dir: str, request: gr.Request, *args):
|
||||
def img2img(id_task: str,
|
||||
mode: int,
|
||||
prompt: str,
|
||||
negative_prompt: str,
|
||||
prompt_styles,
|
||||
init_img,
|
||||
sketch,
|
||||
init_img_with_mask,
|
||||
inpaint_color_sketch,
|
||||
inpaint_color_sketch_orig,
|
||||
init_img_inpaint,
|
||||
init_mask_inpaint,
|
||||
steps: int,
|
||||
sampler_name: str,
|
||||
mask_blur: int,
|
||||
mask_alpha: float,
|
||||
mask_blend_power: float,
|
||||
mask_blend_scale: float,
|
||||
mask_blend_offset: float,
|
||||
inpainting_fill: int,
|
||||
n_iter: int,
|
||||
batch_size: int,
|
||||
cfg_scale: float,
|
||||
image_cfg_scale: float,
|
||||
denoising_strength: float,
|
||||
selected_scale_tab: int,
|
||||
height: int,
|
||||
width: int,
|
||||
scale_by: float,
|
||||
resize_mode: int,
|
||||
inpaint_full_res: bool,
|
||||
inpaint_full_res_padding: int,
|
||||
inpainting_mask_invert: int,
|
||||
img2img_batch_input_dir: str,
|
||||
img2img_batch_output_dir: str,
|
||||
img2img_batch_inpaint_mask_dir: str,
|
||||
override_settings_texts,
|
||||
img2img_batch_use_png_info: bool,
|
||||
img2img_batch_png_info_props: list,
|
||||
img2img_batch_png_info_dir: str,
|
||||
request: gr.Request, *args):
|
||||
override_settings = create_override_settings_dict(override_settings_texts)
|
||||
|
||||
is_batch = mode == 5
|
||||
|
|
@ -174,6 +214,9 @@ def img2img(id_task: str, mode: int, prompt: str, negative_prompt: str, prompt_s
|
|||
init_images=[image],
|
||||
mask=mask,
|
||||
mask_blur=mask_blur,
|
||||
mask_blend_power=mask_blend_power,
|
||||
mask_blend_scale=mask_blend_scale,
|
||||
mask_blend_offset=mask_blend_offset,
|
||||
inpainting_fill=inpainting_fill,
|
||||
resize_mode=resize_mode,
|
||||
denoising_strength=denoising_strength,
|
||||
|
|
@ -194,6 +237,9 @@ def img2img(id_task: str, mode: int, prompt: str, negative_prompt: str, prompt_s
|
|||
|
||||
if mask:
|
||||
p.extra_generation_params["Mask blur"] = mask_blur
|
||||
p.extra_generation_params["Mask blend power"] = mask_blend_power
|
||||
p.extra_generation_params["Mask blend scale"] = mask_blend_scale
|
||||
p.extra_generation_params["Mask blend offset"] = mask_blend_offset
|
||||
|
||||
with closing(p):
|
||||
if is_batch:
|
||||
|
|
|
|||
|
|
@ -1349,6 +1349,9 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
|
|||
mask_blur_x: int = 4
|
||||
mask_blur_y: int = 4
|
||||
mask_blur: int = None
|
||||
mask_blend_power: float = 1
|
||||
mask_blend_scale: float = 1
|
||||
mask_blend_offset: float = 0
|
||||
inpainting_fill: int = 0
|
||||
inpaint_full_res: bool = True
|
||||
inpaint_full_res_padding: int = 0
|
||||
|
|
|
|||
|
|
@ -277,6 +277,9 @@ class Sampler:
|
|||
self.model_wrap_cfg.p = p
|
||||
self.model_wrap_cfg.mask = p.mask if hasattr(p, 'mask') else None
|
||||
self.model_wrap_cfg.nmask = p.nmask if hasattr(p, 'nmask') else None
|
||||
self.model_wrap_cfg.mask_blend_power = p.mask_blend_power if hasattr(p, 'mask_blend_power') else None
|
||||
self.model_wrap_cfg.mask_blend_scale = p.mask_blend_scale if hasattr(p, 'mask_blend_scale') else None
|
||||
self.model_wrap_cfg.mask_blend_offset = p.mask_blend_offset if hasattr(p, 'mask_blend_offset') else None
|
||||
self.model_wrap_cfg.step = 0
|
||||
self.model_wrap_cfg.image_cfg_scale = getattr(p, 'image_cfg_scale', None)
|
||||
self.eta = p.eta if p.eta is not None else getattr(opts, self.eta_option_field, 0.0)
|
||||
|
|
|
|||
|
|
@ -732,6 +732,9 @@ def create_ui():
|
|||
with FormRow():
|
||||
mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=4, elem_id="img2img_mask_blur")
|
||||
mask_alpha = gr.Slider(label="Mask transparency", visible=False, elem_id="img2img_mask_alpha")
|
||||
mask_blend_power = gr.Slider(label='Mask blend power', minimum=0, maximum=8, step=0.1, value=1, elem_id="img2img_mask_blend_power")
|
||||
mask_blend_scale = gr.Slider(label='Mask blend scale', minimum=0, maximum=8, step=0.1, value=1, elem_id="img2img_mask_blend_scale")
|
||||
mask_blend_offset = gr.Slider(label='Mask blend offset', minimum=-4, maximum=4, step=0.1, value=0, elem_id="img2img_mask_blend_offset")
|
||||
|
||||
with FormRow():
|
||||
inpainting_mask_invert = gr.Radio(label='Mask mode', choices=['Inpaint masked', 'Inpaint not masked'], value='Inpaint masked', type="index", elem_id="img2img_mask_mode")
|
||||
|
|
@ -781,6 +784,9 @@ def create_ui():
|
|||
sampler_name,
|
||||
mask_blur,
|
||||
mask_alpha,
|
||||
mask_blend_power,
|
||||
mask_blend_scale,
|
||||
mask_blend_offset,
|
||||
inpainting_fill,
|
||||
batch_count,
|
||||
batch_size,
|
||||
|
|
@ -879,6 +885,9 @@ def create_ui():
|
|||
(toprow.ui_styles.dropdown, lambda d: d["Styles array"] if isinstance(d.get("Styles array"), list) else gr.update()),
|
||||
(denoising_strength, "Denoising strength"),
|
||||
(mask_blur, "Mask blur"),
|
||||
(mask_blend_power, "Mask blend power"),
|
||||
(mask_blend_scale, "Mask blend scale"),
|
||||
(mask_blend_offset, "Mask blend offset"),
|
||||
*scripts.scripts_img2img.infotext_fields
|
||||
]
|
||||
parameters_copypaste.add_paste_fields("img2img", init_img, img2img_paste_fields, override_settings)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue