Applying Gaussian Blur to an image using the Pillow library

In this tutorial, we will learn how to apply a Gaussian blur effect to images using Python's Pillow library. The ImageFilter.GaussianBlur() function creates a smooth blur effect by applying a Gaussian filter with a specified radius parameter.

What is Gaussian Blur?

Gaussian blur is a widely-used image processing technique that reduces image noise and detail by applying a mathematical function called a Gaussian kernel. The radius parameter controls the blur intensity ? higher values create more blur.

Algorithm

Step 1: Import Image and ImageFilter from Pillow
Step 2: Open the target image file
Step 3: Apply GaussianBlur() filter with desired radius
Step 4: Display or save the blurred result

Basic Gaussian Blur Example

Here's how to apply a Gaussian blur filter to an image ?

from PIL import Image, ImageFilter

# Open an image (you can use any image file)
original_image = Image.open('/python/images/logo.png')

# Apply Gaussian blur with radius of 2
blurred_image = original_image.filter(ImageFilter.GaussianBlur(radius=2))

# Display the blurred image
blurred_image.show()

# Optionally save the result
blurred_image.save('blurred_output.png')

Comparing Different Blur Intensities

Let's compare the effect of different radius values ?

from PIL import Image, ImageFilter

# Open the original image
original_image = Image.open('/python/images/logo.png')

# Apply different blur intensities
blur_light = original_image.filter(ImageFilter.GaussianBlur(radius=1))
blur_medium = original_image.filter(ImageFilter.GaussianBlur(radius=3))
blur_heavy = original_image.filter(ImageFilter.GaussianBlur(radius=5))

print("Original image size:", original_image.size)
print("Light blur applied with radius=1")
print("Medium blur applied with radius=3") 
print("Heavy blur applied with radius=5")

# Save different blur levels
blur_light.save('blur_light.png')
blur_medium.save('blur_medium.png')
blur_heavy.save('blur_heavy.png')
Original image size: (498, 441)
Light blur applied with radius=1
Medium blur applied with radius=3
Heavy blur applied with radius=5

Blur Radius Comparison

Radius Value Blur Intensity Best Used For
0.5 - 1 Very Light Subtle smoothing
2 - 3 Medium General blur effect
5+ Heavy Strong background blur

Creating a Soft Focus Effect

Combine the original and blurred images for a professional soft focus effect ?

from PIL import Image, ImageFilter

# Open original image
original = Image.open('photo.jpg')

# Create a heavily blurred version
blur_bg = original.filter(ImageFilter.GaussianBlur(radius=8))

# Blend original with blurred (70% blur, 30% original)
soft_focus = Image.blend(original, blur_bg, alpha=0.7)

soft_focus.save('soft_focus_effect.jpg')

Conclusion

Gaussian blur is an essential image processing technique in Pillow. Use low radius values (1-2) for subtle effects and higher values (5+) for dramatic blur. The radius parameter gives you precise control over the blur intensity for various creative applications.

Updated on: 2026-03-25T18:07:22+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements