aboutsummaryrefslogtreecommitdiff
path: root/modules/processing.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2022-12-24 09:17:40 +0300
committerGitHub <noreply@github.com>2022-12-24 09:17:40 +0300
commitb81fa1e7f12f135533273225fc0c68d136ab9b93 (patch)
treee121d9aca2513d61ba6f7037ad94c713b9cc7dd1 /modules/processing.py
parent684d7059bcab0a198ec9c98ad7277cffe4bb2e17 (diff)
parent9bcf4165f89e6706a25ef0c32149d1fd3f4e102a (diff)
Merge pull request #5644 from ThereforeGames/master
Improve img2img color correction by performing a luminosity blend
Diffstat (limited to 'modules/processing.py')
-rw-r--r--modules/processing.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/processing.py b/modules/processing.py
index 24c537d1..bc841837 100644
--- a/modules/processing.py
+++ b/modules/processing.py
@@ -27,6 +27,7 @@ from ldm.data.util import AddMiDaS
from ldm.models.diffusion.ddpm import LatentDepth2ImageDiffusion
from einops import repeat, rearrange
+from blendmodes.blend import blendLayers, BlendType
# some of those options should not be changed at all because they would break the model, so I removed them from options.
opt_C = 4
@@ -39,17 +40,19 @@ def setup_color_correction(image):
return correction_target
-def apply_color_correction(correction, image):
+def apply_color_correction(correction, original_image):
logging.info("Applying color correction.")
image = Image.fromarray(cv2.cvtColor(exposure.match_histograms(
cv2.cvtColor(
- np.asarray(image),
+ np.asarray(original_image),
cv2.COLOR_RGB2LAB
),
correction,
channel_axis=2
), cv2.COLOR_LAB2RGB).astype("uint8"))
-
+
+ image = blendLayers(image, original_image, BlendType.LUMINOSITY)
+
return image