mirror of
https://github.com/openvinotoolkit/stable-diffusion-webui.git
synced 2024-12-14 22:53:25 +03:00
Merge pull request #5521 from AndrewRyanChama/ryan/img2imglatentscale
Add latent upscale option to img2img
This commit is contained in:
commit
b2dbd4d698
@ -837,7 +837,7 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
|
|||||||
for img in self.init_images:
|
for img in self.init_images:
|
||||||
image = images.flatten(img, opts.img2img_background_color)
|
image = images.flatten(img, opts.img2img_background_color)
|
||||||
|
|
||||||
if crop_region is None:
|
if crop_region is None and self.resize_mode != 3:
|
||||||
image = images.resize_image(self.resize_mode, image, self.width, self.height)
|
image = images.resize_image(self.resize_mode, image, self.width, self.height)
|
||||||
|
|
||||||
if image_mask is not None:
|
if image_mask is not None:
|
||||||
@ -846,6 +846,7 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
|
|||||||
|
|
||||||
self.overlay_images.append(image_masked.convert('RGBA'))
|
self.overlay_images.append(image_masked.convert('RGBA'))
|
||||||
|
|
||||||
|
# crop_region is not none iif we are doing inpaint full res
|
||||||
if crop_region is not None:
|
if crop_region is not None:
|
||||||
image = image.crop(crop_region)
|
image = image.crop(crop_region)
|
||||||
image = images.resize_image(2, image, self.width, self.height)
|
image = images.resize_image(2, image, self.width, self.height)
|
||||||
@ -882,6 +883,9 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
|
|||||||
|
|
||||||
self.init_latent = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(image))
|
self.init_latent = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(image))
|
||||||
|
|
||||||
|
if self.resize_mode == 3:
|
||||||
|
self.init_latent = torch.nn.functional.interpolate(self.init_latent, size=(self.height // opt_f, self.width // opt_f), mode="bilinear")
|
||||||
|
|
||||||
if image_mask is not None:
|
if image_mask is not None:
|
||||||
init_mask = latent_mask
|
init_mask = latent_mask
|
||||||
latmask = init_mask.convert('RGB').resize((self.init_latent.shape[3], self.init_latent.shape[2]))
|
latmask = init_mask.convert('RGB').resize((self.init_latent.shape[3], self.init_latent.shape[2]))
|
||||||
|
@ -857,7 +857,7 @@ def create_ui():
|
|||||||
img2img_batch_output_dir = gr.Textbox(label="Output directory", **shared.hide_dirs)
|
img2img_batch_output_dir = gr.Textbox(label="Output directory", **shared.hide_dirs)
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
resize_mode = gr.Radio(label="Resize mode", elem_id="resize_mode", show_label=False, choices=["Just resize", "Crop and resize", "Resize and fill"], type="index", value="Just resize")
|
resize_mode = gr.Radio(label="Resize mode", elem_id="resize_mode", show_label=False, choices=["Just resize", "Crop and resize", "Resize and fill", "Upscale Latent Space"], type="index", value="Just resize")
|
||||||
|
|
||||||
steps = gr.Slider(minimum=1, maximum=150, step=1, label="Sampling Steps", value=20)
|
steps = gr.Slider(minimum=1, maximum=150, step=1, label="Sampling Steps", value=20)
|
||||||
sampler_index = gr.Radio(label='Sampling method', choices=[x.name for x in samplers_for_img2img], value=samplers_for_img2img[0].name, type="index")
|
sampler_index = gr.Radio(label='Sampling method', choices=[x.name for x in samplers_for_img2img], value=samplers_for_img2img[0].name, type="index")
|
||||||
|
Loading…
Reference in New Issue
Block a user