Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 2,573 Bytes
5825d5b 2a39662 5825d5b e3c3f88 2a39662 5825d5b 2a39662 3caf593 8efad9d 2a39662 3caf593 8efad9d 5825d5b cfa42c2 5825d5b 2a39662 5825d5b e3c3f88 2a39662 e3c3f88 2a39662 e3c3f88 5825d5b 2a39662 5825d5b 8efad9d e3c3f88 2a39662 8efad9d e3c3f88 2a39662 e3c3f88 |
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# created with great guidance from https://github.com/NimaBoscarino
import gradio as gr
import kornia as K
from kornia.core import Tensor
def box_blur_fn(file, box_blur):
# load the image using the rust backend
img: Tensor = K.io.load_image(file.name, K.io.ImageLoadType.RGB32)
img = img[None] # 1xCxHxW / fp32 / [0, 1]
x_out: Tensor = K.filters.box_blur(img, (int(box_blur), int(box_blur)))
return K.utils.tensor_to_image(x_out)
def blur_pool2d_fn(file, blur_pool2d):
# load the image using the rust backend
img: Tensor = K.io.load_image(file.name, K.io.ImageLoadType.RGB32)
img = img[None] # 1xCxHxW / fp32 / [0, 1]
x_out: Tensor = K.filters.blur_pool2d(img, int(blur_pool2d))
return K.utils.tensor_to_image(x_out)
def gaussian_blur_fn(file, gaussian_blur2d):
# load the image using the rust backend
img: Tensor = K.io.load_image(file.name, K.io.ImageLoadType.RGB32)
img = img[None] # 1xCxHxW / fp32 / [0, 1]
x_out: Tensor = K.filters.gaussian_blur2d(img,
(int(gaussian_blur2d), int(gaussian_blur2d)),
(float(gaussian_blur2d), float(gaussian_blur2d)))
return K.utils.tensor_to_image(x_out)
examples = [
["examples/monkey.jpg", 1, 1, 1, 1, 1],
["examples/pikachu.jpg", 1, 1, 1, 1, 1],
]
box_blur_fn_demo = gr.Interface(
box_blur_fn,
[
gr.inputs.Image(type="file"),
gr.inputs.Slider(minimum=1, maximum=10, step=1, default=1, label="Box Blur"),
],
"image",
examples=examples,
# title=title,
# description=description,
# article=article,
live=True
)
blur_pool2d_fn_demo = gr.Interface(
blur_pool2d_fn,
[
gr.inputs.Image(type="file"),
gr.inputs.Slider(minimum=1, maximum=10, step=1, default=1, label="Blur Pool"),
],
"image",
examples=examples,
# title=title,
# description=description,
# article=article,
live=True
)
gaussian_blur_fn_demo = gr.Interface(
gaussian_blur_fn,
[
gr.inputs.Image(type="file"),
gr.inputs.Slider(minimum=1, maximum=21, step=2, default=1, label="Gaussian Blur")
],
"image",
examples=examples,
# title=title,
# description=description,
# article=article,
live=True
)
demo = gr.TabbedInterface(
[
box_blur_fn_demo,
blur_pool2d_fn_demo,
gaussian_blur_fn_demo
],
[
"Box Blur",
"Blur Pool"
]
)
demo.launch() |