VincentZB's picture
Duplicate from king007/Stable-Diffusion-ControlNet-WebUI
4ec2f90
import gradio as gr
from codeformer.app import inference_app
class CodeformerUpscalerGenerator:
def generate_image(
self,
image_path: str,
background_enhance: bool,
face_upsample: bool,
upscale: int,
codeformer_fidelity: int,
):
pipe = inference_app(
image=image_path,
background_enhance=background_enhance,
face_upsample=face_upsample,
upscale=upscale,
codeformer_fidelity=codeformer_fidelity,
)
return [pipe]
def app():
with gr.Blocks():
with gr.Row():
with gr.Column():
codeformer_upscale_image_file = gr.Image(
type="filepath", label="Image"
).style(height=260)
with gr.Row():
with gr.Column():
codeformer_face_upsample = gr.Checkbox(
label="Face Upsample",
value=True,
)
codeformer_upscale = gr.Slider(
label="Upscale",
minimum=1,
maximum=4,
step=1,
value=2,
)
with gr.Row():
with gr.Column():
codeformer_background_enhance = gr.Checkbox(
label="Background Enhance",
value=True,
)
codeformer_upscale_fidelity = gr.Slider(
label="Codeformer Fidelity",
minimum=0.1,
maximum=1.0,
step=0.1,
value=0.5,
)
codeformer_upscale_predict_button = gr.Button(
value="Generator"
)
with gr.Column():
output_image = gr.Gallery(
label="Generated images",
show_label=False,
elem_id="gallery",
).style(grid=(1, 2))
codeformer_upscale_predict_button.click(
fn=CodeformerUpscalerGenerator().generate_image,
inputs=[
codeformer_upscale_image_file,
codeformer_background_enhance,
codeformer_face_upsample,
codeformer_upscale,
codeformer_upscale_fidelity,
],
outputs=[output_image],
)