Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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.
