Spaces:
Running
Running
File size: 2,044 Bytes
8aa6d79 fa0d071 53b8c3a aeda751 6b9a982 8aa6d79 e53dbad aeda751 e53dbad aeda751 e53dbad fa0d071 aeda751 e53dbad fa0d071 e53dbad aeda751 fa0d071 e53dbad fa0d071 e53dbad |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import gradio as gr
from utils import encoder, decoder, decoder_noise
title = "**Playing with kNN for denoising**"
description = """The encoder takes any image (on the top left) and remove a fraction of the pixels producing a noisy image (on the top right).
The decoder takes a noisy image (on the bottom left) and achieves denoising using kNN where you can choose the number of neighbors k.
You can directly use the decoder on the encoded image (if you used the encoder first!)."""
demo = gr.Blocks()
with demo:
gr.Markdown(title)
gr.Markdown(description)
with gr.Row():
with gr.Column():
source_img = gr.Image(source="upload", type="filepath", label="init_img")
noise = gr.Slider(label='noise', minimum = 0.5, maximum = 1, step = .005, value = .95)
with gr.Row():
b1 = gr.Button("Encoder")
examples_encoder = gr.Examples([["images/joconde.png"], ["images/braque.png"], ["images/Voronoy.jpg"]], inputs=[source_img])
with gr.Column():
encoded_img = gr.Image()
with gr.Row():
bt = gr.Button("Decoder noisy image above")
with gr.Row():
with gr.Column():
noise_img = gr.Image(source="upload", type="filepath", label="init_img")
k = gr.Slider(label='k', minimum = 1, maximum = 10, step = 1, value = 1)
with gr.Row():
b2 = gr.Button("Decoder")
examples_decoder = gr.Examples([["images/afghan_coded.png"], ["images/wave_coded.png"], ["images/spider_coded.png"]], inputs=[noise_img])
#bt = gr.Button("Decoder noisy image above")
with gr.Column():
decoded_img = gr.Image()
b1.click(encoder, inputs=[source_img, noise], outputs=encoded_img)
b2.click(decoder, inputs=[noise_img,k], outputs=decoded_img)
bt.click(decoder_noise, inputs=[encoded_img,k], outputs=decoded_img)
demo.launch() |