Transformationer

Bildbehandling i Python

Rebeca Gonzalez

Data Engineer

Varför transformera bilder?

  • Förbereda bilder för klassificeringsmodeller inom maskininlärning
  • Optimering och komprimering av bilder
  • Spara bilder med bibehållna proportioner

En kattbild som bearbetas och skalas ned

Bildbehandling i Python

Rotation

2 hundar som leker och går

Foto på 2 hundar som leker och går, roterat 90 grader medurs

Bildbehandling i Python

Rotation

2 hundar som leker och går

2 hundar som leker och går, roterat 90 grader moturs

Bildbehandling i Python

Rotation medurs

from skimage.transform import rotate

# Rotate the image 90 degrees clockwise image_rotated = rotate(image, -90)
show_image(image, 'Original') show_image(image_rotated, 'Rotated 90 degrees clockwise')

Originalbild på hundar bredvid den roterade

Bildbehandling i Python

Rotation moturs

from skimage.transform import rotate

# Rotate an image 90 degrees anticlockwise image_rotated = rotate(image, 90)
show_image(image, 'Original') show_image(image_rotated, 'Rotated 90 degrees anticlockwise')

Originalbild på hundar bredvid den 90 grader roterade

Bildbehandling i Python

Omskalning

Originalbild på 2 hundar med 3 000 pixlar bredvid en nedskalad version med 800 pixlar

Bildbehandling i Python

Omskalning

Nedskalning
from skimage.transform import rescale

# Rescale the image to be 4 times smaller image_rescaled = rescale(image, 1/4, anti_aliasing=True, multichannel=True)
show_image(image, 'Original image') show_image(image_rescaled, 'Rescaled image')
Bildbehandling i Python

Omskalning

Originalbild på 2 hundar med 3 000 pixlar bredvid en nedskalad version med 800 pixlar

Bildbehandling i Python

Aliasing i digitala bilder

Bokstaven A utan aliasing bredvid en bild av bokstaven A med aliasing

Bildbehandling i Python

Aliasing i digitala bilder

Omskalad bild av 2 hundar som leker med aliasing bredvid en version utan aliasing

Bildbehandling i Python

Storleksändring

Originalbild med 3 000 pixlar bredvid en storleksändrad version med 800 pixlar

Bildbehandling i Python

Storleksändring

from skimage.transform import resize

# Height and width to resize height = 400 width = 500
# Resize image image_resized = resize(image, (height, width), anti_aliasing=True)
# Show the original and resulting images show_image(image, 'Original image') show_image(image_resized, 'Resized image')
Bildbehandling i Python

Storleksändring

Originalbild på 2 hundar med 3 000 pixlar bredvid en storleksändrad version som inte ser proportionerlig ut

Bildbehandling i Python

Proportionerlig storleksändring

from skimage.transform import resize

# Set proportional height so its 4 times its size height = image.shape[0] / 4 width = image.shape[1] / 4
# Resize image image_resized = resize(image, (height, width), anti_aliasing=True)
show_image(image_resized, 'Resized image')
Bildbehandling i Python

Proportionerlig storleksändring

Originalbild på 2 hundar med 3 000 pixlar bredvid en proportionerligt storleksändrad version med 800 pixlar

Bildbehandling i Python

Nu kör vi en övning!

Bildbehandling i Python

Preparing Video For Download...