Transformări

Procesarea imaginilor în Python

Rebeca Gonzalez

Data Engineer

De ce transformăm imaginile?

  • Pregătirea imaginilor pentru modele ML de clasificare
  • Optimizarea și compresia imaginilor
  • Păstrarea proporțiilor imaginilor

O imagine de pisică procesată și redusă ca dimensiune

Procesarea imaginilor în Python

Rotație

2 câini jucându-se, mergând

Fotografie cu 2 câini jucându-se, rotită cu 90 de grade în sens orar

Procesarea imaginilor în Python

Rotație

2 câini jucându-se, mergând

2 câini jucându-se, rotită cu 90 de grade în sens antiorar

Procesarea imaginilor în Python

Rotație în sens orar

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')

Fotografie originală cu câini lângă una rotită

Procesarea imaginilor în Python

Rotație în sens antiorar

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')

Fotografie originală cu câini lângă una rotită cu 90 de grade în sens antiorar

Procesarea imaginilor în Python

Rescalare

Imaginea originală cu 2 câini la 3000 de pixeli lângă una redimensionată la 800 de pixeli

Procesarea imaginilor în Python

Rescalare

Reducere
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')
Procesarea imaginilor în Python

Rescalare

Imaginea originală cu 2 câini la 3000 de pixeli lângă una rescalată la 800 de pixeli

Procesarea imaginilor în Python

Aliasing în imaginile digitale

Imaginea literei A fără aliasing lângă una cu aliasing

Procesarea imaginilor în Python

Aliasing în imaginile digitale

Imagine rescalată cu 2 câini cu aliasing lângă una fără aliasing

Procesarea imaginilor în Python

Redimensionare

Imaginea originală cu 3000 de pixeli lângă una redimensionată la 800 de pixeli

Procesarea imaginilor în Python

Redimensionare

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')
Procesarea imaginilor în Python

Redimensionare

Imaginea originală cu 2 câini la 3000 de pixeli lângă una redimensionată neproporțional

Procesarea imaginilor în Python

Redimensionare proporțională

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')
Procesarea imaginilor în Python

Redimensionare proporțională

Imaginea originală cu 2 câini la 3000 de pixeli lângă una redimensionată proporțional la 800 de pixeli

Procesarea imaginilor în Python

Să exersăm!

Procesarea imaginilor în Python

Preparing Video For Download...