diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2024-01-01 14:01:06 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-01 14:01:06 +0000 |
commit | 7ba02e0b7cfc85d5d237eba71ab4d66564857d55 (patch) | |
tree | b317227a0e63c42aa8c4b06147761dfd37ae24fc /test/test_face_restorers.py | |
parent | be31e7e71a08dc27543d31aa6e6532463ccbf20f (diff) | |
parent | 15156cde18844f459ba101b1356d162aa7f39c47 (diff) | |
download | stable-diffusion-webui-gfx803-7ba02e0b7cfc85d5d237eba71ab4d66564857d55.tar.gz stable-diffusion-webui-gfx803-7ba02e0b7cfc85d5d237eba71ab4d66564857d55.tar.bz2 stable-diffusion-webui-gfx803-7ba02e0b7cfc85d5d237eba71ab4d66564857d55.zip |
Merge branch 'dev' into finer-settings-freezing-control
Diffstat (limited to 'test/test_face_restorers.py')
-rw-r--r-- | test/test_face_restorers.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_face_restorers.py b/test/test_face_restorers.py new file mode 100644 index 00000000..7760d51b --- /dev/null +++ b/test/test_face_restorers.py @@ -0,0 +1,29 @@ +import os +from test.conftest import test_files_path, test_outputs_path + +import numpy as np +import pytest +from PIL import Image + + +@pytest.mark.usefixtures("initialize") +@pytest.mark.parametrize("restorer_name", ["gfpgan", "codeformer"]) +def test_face_restorers(restorer_name): + from modules import shared + + if restorer_name == "gfpgan": + from modules import gfpgan_model + gfpgan_model.setup_model(shared.cmd_opts.gfpgan_models_path) + restorer = gfpgan_model.gfpgan_fix_faces + elif restorer_name == "codeformer": + from modules import codeformer_model + codeformer_model.setup_model(shared.cmd_opts.codeformer_models_path) + restorer = codeformer_model.codeformer.restore + else: + raise NotImplementedError("...") + img = Image.open(os.path.join(test_files_path, "two-faces.jpg")) + np_img = np.array(img, dtype=np.uint8) + fixed_image = restorer(np_img) + assert fixed_image.shape == np_img.shape + assert not np.allclose(fixed_image, np_img) # should have visibly changed + Image.fromarray(fixed_image).save(os.path.join(test_outputs_path, f"{restorer_name}.png")) |