What is Pillow?
Pillow (PIL - Python Imaging Library) is a library for opening, manipulating, and saving many different image file formats. It's the modern fork of PIL.
Installation
Install Pillow:
pip install Pillow
Opening Images
Open and display images:
from PIL import Image
# Open image
img = Image.open('photo.jpg')
# Display image
img.show()
# Get image info
print(img.size) # (width, height)
print(img.format) # JPEG, PNG, etc.
print(img.mode) # RGB, RGBA, etc.
Resizing Images
Resize images:
# Resize to specific size
img_resized = img.resize((800, 600))
# Resize maintaining aspect ratio
img.thumbnail((800, 600))
img.save('thumbnail.jpg')
Image Manipulation
Common operations:
# Rotate
img_rotated = img.rotate(90)
# Crop
box = (100, 100, 400, 400) # (left, top, right, bottom)
img_cropped = img.crop(box)
# Convert mode
img_rgb = img.convert('RGB')
# Apply filters
from PIL import ImageFilter
img_blur = img.filter(ImageFilter.BLUR)
Saving Images
Save images in different formats:
# Save as JPEG
img.save('output.jpg', 'JPEG')
# Save as PNG
img.save('output.png', 'PNG')
# Save with quality
img.save('output.jpg', 'JPEG', quality=95)
Best Practices
- Close images: Use context manager or close()
- Handle formats: Check format before operations
- Optimize size: Resize large images before processing
- Use appropriate format: JPEG for photos, PNG for graphics
Next Steps
Combine with Matplotlib for image visualization.