import gradio as gr import cv2 import torch import kornia as K def load_torch_image(fname): img = K.image_to_tensor(fname, False).float() / 255. img = K.color.bgr_to_rgb(img) return img def enhance(file, brightness, contrast, saturation, gamma, hue): fname = file.name im = cv2.imread(fname) img = load_torch_image(im) x_out: torch.Tensor = K.enhance.adjust_brightness(img, float(brightness)) x_out = K.enhance.adjust_contrast(x_out, float(contrast)) x_out = K.enhance.adjust_saturation(x_out, float(saturation)) x_out = K.enhance.adjust_gamma(x_out, float(gamma)) x_out = K.enhance.adjust_hue(x_out, float(hue)) return K.utils.tensor_to_image(x_out) examples = [ ["examples/ninja_turtles.jpg", 0, 1, 1, 1, 0], ["examples/kitty.jpg", 0, 1, 1, 1, 0], ] iface = gr.Interface( enhance, [ gr.inputs.Image(type="file"), gr.inputs.Slider(minimum=0, maximum=1, step=0.1, default=0, label="Brightness"), gr.inputs.Slider(minimum=0, maximum=4, step=0.1, default=1, label="Contrast"), gr.inputs.Slider(minimum=0, maximum=4, step=0.1, default=1, label="Saturation"), gr.inputs.Slider(minimum=0, maximum=1, step=0.1, default=1, label="Gamma"), gr.inputs.Slider(minimum=0, maximum=4, step=0.1, default=0, label="Hue"), ], "image", examples=examples, live=True ) iface.launch()