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 = []