mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-12-21 07:30:02 +08:00
c19618f370
This change fixes an issue where an incorrect type was passed to the PIL.Image.open() function that caused the whole process to fail. Scope of this change is limited to only batch image processing, and it shouldn't affect other functionality.
58 lines
2.7 KiB
Python
58 lines
2.7 KiB
Python
import gradio as gr
|
|
from modules import scripts_postprocessing, scripts, shared, gfpgan_model, codeformer_model, ui_common, postprocessing, call_queue
|
|
import modules.generation_parameters_copypaste as parameters_copypaste
|
|
|
|
|
|
def create_ui():
|
|
tab_index = gr.State(value=0)
|
|
|
|
with gr.Row().style(equal_height=False, variant='compact'):
|
|
with gr.Column(variant='compact'):
|
|
with gr.Tabs(elem_id="mode_extras"):
|
|
with gr.TabItem('Single Image', elem_id="extras_single_tab") as tab_single:
|
|
extras_image = gr.Image(label="Source", source="upload", interactive=True, type="pil", elem_id="extras_image")
|
|
|
|
with gr.TabItem('Batch Process', elem_id="extras_batch_process_tab") as tab_batch:
|
|
image_batch = gr.Files(label="Batch Process", interactive=True, elem_id="extras_image_batch")
|
|
|
|
with gr.TabItem('Batch from Directory', elem_id="extras_batch_directory_tab") as tab_batch_dir:
|
|
extras_batch_input_dir = gr.Textbox(label="Input directory", **shared.hide_dirs, placeholder="A directory on the same machine where the server is running.", elem_id="extras_batch_input_dir")
|
|
extras_batch_output_dir = gr.Textbox(label="Output directory", **shared.hide_dirs, placeholder="Leave blank to save images to the default path.", elem_id="extras_batch_output_dir")
|
|
show_extras_results = gr.Checkbox(label='Show result images', value=True, elem_id="extras_show_extras_results")
|
|
|
|
submit = gr.Button('Generate', elem_id="extras_generate", variant='primary')
|
|
|
|
script_inputs = scripts.scripts_postproc.setup_ui()
|
|
|
|
with gr.Column():
|
|
result_images, html_info_x, html_info, html_log = ui_common.create_output_panel("extras", shared.opts.outdir_extras_samples)
|
|
|
|
tab_single.select(fn=lambda: 0, inputs=[], outputs=[tab_index])
|
|
tab_batch.select(fn=lambda: 1, inputs=[], outputs=[tab_index])
|
|
tab_batch_dir.select(fn=lambda: 2, inputs=[], outputs=[tab_index])
|
|
|
|
submit.click(
|
|
fn=call_queue.wrap_gradio_gpu_call(postprocessing.run_postprocessing, extra_outputs=[None, '']),
|
|
inputs=[
|
|
tab_index,
|
|
extras_image,
|
|
image_batch,
|
|
extras_batch_input_dir,
|
|
extras_batch_output_dir,
|
|
show_extras_results,
|
|
*script_inputs
|
|
],
|
|
outputs=[
|
|
result_images,
|
|
html_info_x,
|
|
html_info,
|
|
]
|
|
)
|
|
|
|
parameters_copypaste.add_paste_fields("extras", extras_image, None)
|
|
|
|
extras_image.change(
|
|
fn=scripts.scripts_postproc.image_changed,
|
|
inputs=[], outputs=[]
|
|
)
|