diff --git a/nodes.py b/nodes.py index 8d28a725d91e..a23faed26304 100644 --- a/nodes.py +++ b/nodes.py @@ -1658,6 +1658,25 @@ def load_image(self, image): image_path = folder_paths.get_annotated_filepath(image) img = node_helpers.pillow(Image.open, image_path) + import io + from PIL import ImageCms + + try: + if "icc_profile" in img.info: + icc_bytes = img.info["icc_profile"] + + src_profile = ImageCms.ImageCmsProfile(io.BytesIO(icc_bytes)) + dst_profile = ImageCms.createProfile("sRGB") + + img = ImageCms.profileToProfile( + img, + src_profile, + dst_profile, + outputMode="RGB" + ) + except Exception as e: + print("Icc color profile conversion failed:",e) + output_images = [] output_masks = []