# 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__
```
```/home/docs/checkouts/readthedocs.org/user_builds/kornia-tutorials/envs/latest/lib/python3.7/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
```
```'0.6.6-dev'
```

```%%capture
```

## 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 = 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
```