From b153ebe3b679854e7314a6d33a038f9f0cc0c233 Mon Sep 17 00:00:00 2001 From: AUTOMATIC <16777216c@gmail.com> Date: Fri, 16 Sep 2022 08:33:47 +0300 Subject: [PATCH] fix loopback color correction to store color_correction info for initial image and use that instead of extracting from previous image in a loop #481 #541 --- modules/processing.py | 6 ++++-- scripts/loopback.py | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/processing.py b/modules/processing.py index 9b53d210..71a9c6f5 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -445,7 +445,9 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing): latent_mask = self.latent_mask if self.latent_mask is not None else self.image_mask - self.color_corrections = [] + add_color_corrections = opts.img2img_color_correction and self.color_corrections is None + if add_color_corrections: + self.color_corrections = [] imgs = [] for img in self.init_images: image = img.convert("RGB") @@ -467,7 +469,7 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing): if self.inpainting_fill != 1: image = fill(image, latent_mask) - if opts.img2img_color_correction: + if add_color_corrections: self.color_corrections.append(setup_color_correction(image)) image = np.array(image).astype(np.float32) / 255.0 diff --git a/scripts/loopback.py b/scripts/loopback.py index f1102c92..8aca61f3 100644 --- a/scripts/loopback.py +++ b/scripts/loopback.py @@ -40,6 +40,9 @@ class Script(scripts.Script): all_images = [] state.job_count = loops * batch_count + if opts.img2img_color_correction: + p.color_corrections = [processing.setup_color_correction(p.init_images[0])] + for n in range(batch_count): history = []