Перетворення

Обробка зображень у Python

Rebeca Gonzalez

Data Engineer

Навіщо перетворювати зображення?

  • Підготовка зображень для моделей класифікації Machine Learning
  • Оптимізація та стиснення зображень
  • Збереження зображень з тією самою пропорцією

Зображення кота обробляють, зменшують

Обробка зображень у Python

Обертання

2 собаки граються, йдуть

Фото 2 собак, що граються та йдуть, повернуте на 90 градусів за годинниковою стрілкою

Обробка зображень у Python

Обертання

2 собаки граються, йдуть

2 собаки граються, йдуть, повернуто на 90 градусів проти годинникової стрілки

Обробка зображень у Python

Обертання за годинниковою стрілкою

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

Оригінальне фото собак поруч із повернутим

Обробка зображень у Python

Обертання проти годинникової стрілки

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

Оригінальне фото собак поруч із повернутим на 90 градусів

Обробка зображень у Python

Масштабування

Оригінальне зображення 2 собак із розміром 3000 пікселів поруч зі зменшеним до 800 пікселів

Обробка зображень у Python

Масштабування

Зменшення
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')
Обробка зображень у Python

Масштабування

Оригінальне зображення 2 собак із розміром 3000 пікселів поруч зі зменшеним до 800 пікселів

Обробка зображень у Python

Аліасинг у цифрових зображеннях

Л litera A без аліасингу поруч із зображенням літери A з аліасингом

Обробка зображень у Python

Аліасинг у цифрових зображеннях

Зменшене зображення 2 собак з аліасингом поруч зі зменшеним без аліасингу

Обробка зображень у Python

Зміна розміру

Оригінальне зображення 3000 пікселів поруч зі зміненим розміром 800 пікселів

Обробка зображень у Python

Зміна розміру

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')
Обробка зображень у Python

Зміна розміру

Оригінальне зображення 2 собак із розміром 3000 пікселів поруч зі зміненим, непропорційним

Обробка зображень у Python

Пропорційна зміна розміру

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')
Обробка зображень у Python

Пропорційна зміна розміру

Оригінальне зображення 2 собак із розміром 3000 пікселів поруч зі зміненим пропорційно до 800 пікселів

Обробка зображень у Python

Давайте потренуємось!

Обробка зображень у Python

Preparing Video For Download...