mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
e8bb39370c
- supports gfpgan, esrgan, codeformer and embiggen - To use: dream> !fix ./outputs/img-samples/000056.292144555.png -ft gfpgan -U2 -G0.8 dream> !fix ./outputs/img-samples/000056.292144555.png -ft codeformer -G 0.8 dream> !fix ./outputs/img-samples/000056.29214455.png -U4 dream> !fix ./outputs/img-samples/000056.292144555.png -embiggen 1.5 The first example invokes gfpgan to fix faces and esrgan to upscale. The second example invokes codeformer to fix faces, no upscaling The third example uses esrgan to upscale 4X The four example runs embiggen to enlarge 1.5X - This is very preliminary work. There are some anomalies to note: 1. The syntax is non-obvious. I would prefer something like: !fix esrgan,gfpgan !fix esrgan !fix embiggen,codeformer However, this will require refactoring the gfpgan and embiggen code. 2. Images generated using gfpgan, esrgan or codeformer all are named "xxxxxx.xxxxxx.postprocessed.png" and the original is saved. However, the prefix is a new one that is not related to the original. 3. Images generated using embiggen are named "xxxxx.xxxxxxx.png", and once again the prefix is new. I'm not sure whether the prefix should be aligned with the original file's prefix or not. Probably not, but opinions welcome.
23 lines
704 B
Python
Executable File
23 lines
704 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import sys
|
|
import json
|
|
from ldm.dream.pngwriter import retrieve_metadata
|
|
|
|
if len(sys.argv) < 2:
|
|
print("Usage: file2prompt.py <file1.png> <file2.png> <file3.png>...")
|
|
print("This script opens up the indicated dream.py-generated PNG file(s) and prints out their metadata.")
|
|
exit(-1)
|
|
|
|
filenames = sys.argv[1:]
|
|
for f in filenames:
|
|
try:
|
|
metadata = retrieve_metadata(f)
|
|
print(f'{f}:\n',json.dumps(metadata['sd-metadata'], indent=4))
|
|
except FileNotFoundError:
|
|
sys.stderr.write(f'{f} not found\n')
|
|
continue
|
|
except PermissionError:
|
|
sys.stderr.write(f'{f} could not be opened due to inadequate permissions\n')
|
|
continue
|