%%capture
%matplotlib inline
!pip install kornia
!pip install kornia-rs
Blur image using GaussianBlur operator
Basic
Blur
kornia.filters
In this tutorial we show how easily one can apply typical image transformations using Kornia.
Preparation
We first install Kornia.
import kornia
kornia.__version__
'0.6.12'
Now we download the example image.
import io
import requests
def download_image(url: str, filename: str = "") -> str:
= url.split("/")[-1] if len(filename) == 0 else filename
filename # Download
= io.BytesIO(requests.get(url).content)
bytesio # Save file
with open(filename, "wb") as outfile:
outfile.write(bytesio.getbuffer())
return filename
= "https://github.com/kornia/data/raw/main/bennett_aden.png"
url download_image(url)
'bennett_aden.png'
Example
We first import the required libraries and load the data.
import matplotlib.pyplot as plt
import torch
# read the image with kornia
= kornia.io.load_image("./bennett_aden.png", kornia.io.ImageLoadType.RGB32)[None, ...] # BxCxHxW data
To apply a filter, we create the Gaussian Blur filter object and apply it to the data:
# create the operator
= kornia.filters.GaussianBlur2d((11, 11), (10.5, 10.5))
gauss
# blur the image
= gauss(data) x_blur: torch.tensor
That’s it! We can compare the pre-transform image and the post-transform image:
# convert back to numpy
= kornia.tensor_to_image(x_blur)
img_blur
# Create the plot
= plt.subplots(1, 2, figsize=(16, 10))
fig, axs = axs.ravel()
axs
0].axis("off")
axs[0].set_title("image source")
axs[0].imshow(kornia.tensor_to_image(data))
axs[
1].axis("off")
axs[1].set_title("image blurred")
axs[1].imshow(img_blur)
axs[
pass