stable-diffusion-webui

Форк
0
/
postprocessing_gfpgan.py 
32 строки · 1.1 Кб
1
from PIL import Image
2
import numpy as np
3

4
from modules import scripts_postprocessing, gfpgan_model, ui_components
5
import gradio as gr
6

7

8
class ScriptPostprocessingGfpGan(scripts_postprocessing.ScriptPostprocessing):
9
    name = "GFPGAN"
10
    order = 2000
11

12
    def ui(self):
13
        with ui_components.InputAccordion(False, label="GFPGAN") as enable:
14
            gfpgan_visibility = gr.Slider(minimum=0.0, maximum=1.0, step=0.001, label="Visibility", value=1.0, elem_id="extras_gfpgan_visibility")
15

16
        return {
17
            "enable": enable,
18
            "gfpgan_visibility": gfpgan_visibility,
19
        }
20

21
    def process(self, pp: scripts_postprocessing.PostprocessedImage, enable, gfpgan_visibility):
22
        if gfpgan_visibility == 0 or not enable:
23
            return
24

25
        restored_img = gfpgan_model.gfpgan_fix_faces(np.array(pp.image, dtype=np.uint8))
26
        res = Image.fromarray(restored_img)
27

28
        if gfpgan_visibility < 1.0:
29
            res = Image.blend(pp.image, res, gfpgan_visibility)
30

31
        pp.image = res
32
        pp.info["GFPGAN visibility"] = round(gfpgan_visibility, 3)
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.