| import gradio as gr | |
| from annotator.util import resize_image, HWC3 | |
| DESCRIPTION = '# ControlNet v1.1 (cpu_only)' | |
| model_canny = None | |
| def canny(img, res, l, h): | |
| img = resize_image(HWC3(img), res) | |
| global model_canny | |
| if model_canny is None: | |
| from annotator.canny import CannyDetector | |
| model_canny = CannyDetector() | |
| result = model_canny(img, l, h) | |
| return [result] | |
| model_openpose = None | |
| def openpose(img, res, hand_and_face): | |
| img = resize_image(HWC3(img), res) | |
| global model_openpose | |
| if model_openpose is None: | |
| from annotator.openpose import OpenposeDetector | |
| model_openpose = OpenposeDetector() | |
| result = model_openpose(img, hand_and_face) | |
| return [result] | |
| model_content_shuffler = None | |
| def content_shuffler(img, res): | |
| img = resize_image(HWC3(img), res) | |
| global model_content_shuffler | |
| if model_content_shuffler is None: | |
| from annotator.shuffle import ContentShuffleDetector | |
| model_content_shuffler = ContentShuffleDetector() | |
| result = model_content_shuffler(img) | |
| return [result] | |
| model_color_shuffler = None | |
| def color_shuffler(img, res): | |
| img = resize_image(HWC3(img), res) | |
| global model_color_shuffler | |
| if model_color_shuffler is None: | |
| from annotator.shuffle import ColorShuffleDetector | |
| model_color_shuffler = ColorShuffleDetector() | |
| result = model_color_shuffler(img) | |
| return [result] | |
| block = gr.Blocks().queue() | |
| with block: | |
| gr.Markdown(DESCRIPTION) | |
| with gr.Row(): | |
| gr.Markdown("## Canny Edge") | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image(source='upload', type="numpy") | |
| low_threshold = gr.Slider(label="low_threshold", minimum=1, maximum=255, value=100, step=1) | |
| high_threshold = gr.Slider(label="high_threshold", minimum=1, maximum=255, value=200, step=1) | |
| resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) | |
| run_button = gr.Button(label="Run") | |
| with gr.Column(): | |
| gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") | |
| run_button.click(fn=canny, inputs=[input_image, resolution, low_threshold, high_threshold], outputs=[gallery]) | |
| with gr.Row(): | |
| gr.Markdown("## Openpose") | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image(source='upload', type="numpy") | |
| hand_and_face = gr.Checkbox(label='Hand and Face', value=False) | |
| resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) | |
| run_button = gr.Button(label="Run") | |
| with gr.Column(): | |
| gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") | |
| run_button.click(fn=openpose, inputs=[input_image, resolution, hand_and_face], outputs=[gallery]) | |
| with gr.Row(): | |
| gr.Markdown("## Content Shuffle") | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image(source='upload', type="numpy") | |
| resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) | |
| run_button = gr.Button(label="Run") | |
| with gr.Column(): | |
| gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") | |
| run_button.click(fn=content_shuffler, inputs=[input_image, resolution], outputs=[gallery]) | |
| with gr.Row(): | |
| gr.Markdown("## Color Shuffle") | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image(source='upload', type="numpy") | |
| resolution = gr.Slider(label="resolution", minimum=256, maximum=1024, value=512, step=64) | |
| run_button = gr.Button(label="Run") | |
| with gr.Column(): | |
| gallery = gr.Gallery(label="Generated images", show_label=False).style(height="auto") | |
| run_button.click(fn=color_shuffler, inputs=[input_image, resolution], outputs=[gallery]) | |
| block.launch(server_name='0.0.0.0') | |