58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
'''
|
||
Author: SpenserCai
|
||
Date: 2023-07-28 14:41:28
|
||
version:
|
||
LastEditors: SpenserCai
|
||
LastEditTime: 2023-08-03 15:11:07
|
||
Description: file content
|
||
'''
|
||
# DeOldify UI & Processing
|
||
from modules import scripts_postprocessing
|
||
import gradio as gr
|
||
|
||
from modules.ui_components import FormRow
|
||
|
||
from deoldify.device_id import DeviceId
|
||
from PIL import Image
|
||
|
||
from deoldify.visualize import *
|
||
|
||
import warnings
|
||
warnings.filterwarnings("ignore", category=UserWarning, message=".*?Your .*? set is empty.*?")
|
||
warnings.filterwarnings("ignore", category=UserWarning, message="The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.")
|
||
warnings.filterwarnings("ignore", category=FutureWarning, message="Arguments other than a weight enum or `None`.*?")
|
||
|
||
class ScriptPostprocessingUpscale(scripts_postprocessing.ScriptPostprocessing):
|
||
name = "Deoldify"
|
||
order = 20999
|
||
model = None
|
||
|
||
def ui(self):
|
||
with FormRow():
|
||
is_enabled = gr.Checkbox(label="启用")
|
||
is_enabled.value = False
|
||
render_factor = gr.Slider(minimum=1, maximum=50, step=1, label="渲染因子")
|
||
render_factor.value = 35
|
||
# 一个名为artistic的复选框,初始值是False
|
||
artistic = gr.Checkbox(label="艺术化")
|
||
artistic.value = False
|
||
|
||
return {
|
||
"is_enabled": is_enabled,
|
||
"render_factor": render_factor,
|
||
"artistic": artistic,
|
||
}
|
||
|
||
def process_image(self, image, render_factor, artistic):
|
||
vis = get_image_colorizer(root_folder=Path("models"),render_factor=render_factor, artistic=artistic)
|
||
outImg = vis.get_transformed_image_from_image(image, render_factor=render_factor)
|
||
return outImg
|
||
|
||
def process(self, pp: scripts_postprocessing.PostprocessedImage, is_enabled, render_factor, artistic):
|
||
if not is_enabled or is_enabled is False:
|
||
return
|
||
|
||
print(type(pp.image))
|
||
|
||
pp.image = self.process_image(pp.image, render_factor, artistic)
|
||
pp.info["deoldify"] = f"render_factor={render_factor}, artistic={artistic}" |