T.Masuda
update examples
e8dfdba
import gradio as gr
from equalize import Equalize
def set_levels(image):
if image is None:
return 0, 0, 0
eq = Equalize(0, 0, 0)
eq.set_level(image)
return round(eq.level[Equalize.R], 2), round(eq.level[Equalize.G], 2), round(eq.level[Equalize.B], 2)
def equalize(image, level_r, level_g, level_b):
eq = Equalize(level_r, level_g, level_b)
dest = eq.filter(image)
return dest
with gr.Blocks(title='image color equalizer') as app:
gr.Markdown('# Image Color Equalizer')
with gr.Row():
with gr.Column():
image = gr.Image(type='pil')
level_r = gr.Slider(maximum=1.0, value=0.0, step=0.01, label='R level')
level_g = gr.Slider(maximum=1.0, value=0.0, step=0.01, label='G level')
level_b = gr.Slider(maximum=1.0, value=0.0, step=0.01, label='B level')
inputs = [image, level_r, level_g, level_b]
clear = gr.ClearButton([image, level_r, level_g, level_b])
btn = gr.Button(value='Submit')
with gr.Column():
outputs = [gr.Image(label='output', type='pil')]
clear.add(inputs + outputs)
btn.click(equalize, inputs=inputs, outputs=outputs, concurrency_limit=20)
image.change(set_levels, inputs=[image], outputs=[level_r, level_g, level_b], concurrency_limit=20)
gr.Examples(
[['examples/example1.jpg'], ['examples/example2.jpg']],
[image],
#cache_examples=True
)
app.launch()