diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-08 11:14:12 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-08 11:14:12 +0000 |
commit | ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e (patch) | |
tree | 85748946f3b2440dd917694e009c383875c60f0a | |
parent | 9be8903ca92f5e6fc29cb8b14fc837b50de19f2f (diff) | |
parent | 5c6a33b3e11f5aa7b2fc56753c5a724e1351ce81 (diff) | |
download | stable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.tar.gz stable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.tar.bz2 stable-diffusion-webui-gfx803-ae74b44c69a40c3b2f2a91f5ee4160e6d8bbd31e.zip |
Merge pull request #11596 from akx/use-read-info
postprocessing: use read_info_from_image
-rw-r--r-- | modules/images.py | 17 | ||||
-rw-r--r-- | modules/postprocessing.py | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/modules/images.py b/modules/images.py index cdfa6719..fdccec09 100644 --- a/modules/images.py +++ b/modules/images.py @@ -1,3 +1,5 @@ +from __future__ import annotations
+
import datetime
import pytz
@@ -678,8 +680,15 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i return fullfn, txt_fullfn
-def read_info_from_image(image):
- items = image.info or {}
+IGNORED_INFO_KEYS = {
+ 'jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
+ 'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
+ 'icc_profile', 'chromaticity', 'photoshop',
+}
+
+
+def read_info_from_image(image: Image.Image) -> tuple[str | None, dict]:
+ items = (image.info or {}).copy()
geninfo = items.pop('parameters', None)
@@ -695,9 +704,7 @@ def read_info_from_image(image): items['exif comment'] = exif_comment
geninfo = exif_comment
- for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
- 'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
- 'icc_profile', 'chromaticity']:
+ for field in IGNORED_INFO_KEYS:
items.pop(field, None)
if items.get("Software", None) == "NovelAI":
diff --git a/modules/postprocessing.py b/modules/postprocessing.py index 736315e2..38544c38 100644 --- a/modules/postprocessing.py +++ b/modules/postprocessing.py @@ -54,7 +54,9 @@ def run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir, for image, name in zip(image_data, image_names):
shared.state.textinfo = name
- existing_pnginfo = image.info or {}
+ parameters, existing_pnginfo = images.read_info_from_image(image)
+ if parameters:
+ existing_pnginfo["parameters"] = parameters
pp = scripts_postprocessing.PostprocessedImage(image.convert("RGB"))
|