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.