Open in Colab

Blur image using GaussianBlur operator

In this tutorial we show how easily one can apply typical image transformations using Kornia.

Enjoy the example!

Preparation

We first install Kornia.

%%capture
%matplotlib inline
!pip install kornia
import kornia
kornia.__version__
'0.6.1'

Now we download the example image.

%%capture
!wget https://github.com/kornia/data/raw/main/bennett_aden.png

Example

We first import the required libraries and load the data.

import torch
import kornia
import cv2
import numpy as np

import matplotlib.pyplot as plt

# read the image with OpenCV
img: np.ndarray = cv2.imread('./bennett_aden.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# convert to torch tensor
data: torch.tensor = kornia.image_to_tensor(img, keepdim=False)  # BxCxHxW

To apply a filter, we create the Gaussian Blur filter object and apply it to the data:

# create the operator
gauss = kornia.filters.GaussianBlur2d((11, 11), (10.5, 10.5))

# blur the image
x_blur: torch.tensor = gauss(data.float())

That’s it! We can compare the pre-transform image and the post-transform image:

# convert back to numpy
img_blur: np.ndarray = kornia.tensor_to_image(x_blur.byte())

# Create the plot
fig, axs = plt.subplots(1, 2, figsize=(16, 10))
axs = axs.ravel()

axs[0].axis('off')
axs[0].set_title('image source')
axs[0].imshow(img)

axs[1].axis('off')
axs[1].set_title('image blurred')
axs[1].imshow(img_blur)

pass
_images/gaussian_blur_12_0.png