Transformace

Image Processing in Python

Rebeca Gonzalez

Data Engineer

Proč transformovat obrázky?

  • Příprava obrázků pro klasifikační modely strojového učení
  • Optimalizace a komprese obrázků
  • Ukládání obrázků ve stejném poměru stran

Fotografie kočky při zpracování a zmenšení

Image Processing in Python

Otočení

2 hající si psi, chůze

Fotografie 2 hrajících si psů otočená o 90 stupňů ve směru hodinových ručiček

Image Processing in Python

Otočení

2 hající si psi, chůze

2 hající si psi otočení o 90 stupňů proti směru hodinových ručiček

Image Processing in Python

Otočení ve směru hodinových ručiček

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

Původní fotografie psů vedle otočené verze

Image Processing in Python

Otočení proti směru hodinových ručiček

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

Původní fotografie psů vedle verze otočené o 90 stupňů proti směru hodinových ručiček

Image Processing in Python

Změna měřítka

Původní obrázek 2 psů o velikosti 3000 pixelů vedle zmenšené verze s 800 pixely

Image Processing in Python

Změna měřítka

Zmenšení
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')
Image Processing in Python

Změna měřítka

Původní obrázek 2 psů o velikosti 3000 pixelů vedle zmenšené verze s 800 pixely

Image Processing in Python

Aliasing v digitálních obrazech

Obrázek písmene A bez aliasingu vedle obrázku písmene A s aliasingem

Image Processing in Python

Aliasing v digitálních obrazech

Zmenšený obrázek 2 hrajících si psů s aliasingem vedle verze bez aliasingu

Image Processing in Python

Změna velikosti

Původní obrázek s 3000 pixely vedle verze se změněnou velikostí na 800 pixelů

Image Processing in Python

Změna velikosti

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')
Image Processing in Python

Změna velikosti

Původní obrázek 2 psů o velikosti 3000 pixelů vedle verze se změněnou velikostí, která nevypadá proporcionálně

Image Processing in Python

Proporcionální změna velikosti

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')
Image Processing in Python

Proporcionální změna velikosti

Původní obrázek 2 psů o velikosti 3000 pixelů vedle proporcionálně změněné verze s 800 pixely

Image Processing in Python

Lass uns üben!

Image Processing in Python

Preparing Video For Download...