При работе с большим количеством изображений — будь то фотографии, скриншоты или графика для сайта — часто возникает необходимость изменить их размеры. Например, чтобы оптимизировать под загрузку на сайт или социальные сети. Делать это вручную долго и неудобно, но с помощью языка Python эту задачу легко автоматизиро...

Как массово изменить размеры фото с помощью Python

При работе с большим количеством изображений — будь то фотографии, скриншоты или графика для сайта — часто возникает необходимость изменить их размеры. Например, чтобы оптимизировать под загрузку на сайт или социальные сети. Делать это вручную долго и неудобно, но с помощью языка Python эту задачу легко автоматизировать.

Для массового изменения размеров изображений мы воспользуемся библиотекой Pillow, которая является одной из самых популярных библиотек для работы с изображениями в Python.

Установите её следующей командой:

pip install pillow
  1. Создадим папку, например, photos, и поместим в неё все изображения для обработки.
  2. Также создадим папку resized — туда будут сохраняться уже изменённые изображения.
from PIL import Image
import os

# Параметры
input_folder = "photos"       # Папка с исходными фото
output_folder = "resized"     # Папка для сохранения изменённых фото
new_size = (800, 600)         # Нужный размер (ширина, высота)

# Создание выходной папки, если её нет
os.makedirs(output_folder, exist_ok=True)

# Поддерживаемые расширения
extensions = ('.png', '.jpg', '.jpeg', '.bmp', '.gif')

for filename in os.listdir(input_folder):
    if filename.lower().endswith(extensions):
        try:
            img_path = os.path.join(input_folder, filename)
            img = Image.open(img_path)

            # Изменение размера
            resized_img = img.resize(new_size, Image.Resampling.LANCZOS)

            # Сохранение в новую папку
            save_path = os.path.join(output_folder, filename)
            resized_img.save(save_path)
            print(f"Изменён размер: {filename}")
        except Exception as e:
            print(f"Ошибка при обработке {filename}: {e}")

Cкрипт: - Обрабатывает все изображения в указанной папке, - Изменяет их размер до заданных значений, - Сохраняет результат в отдельную папку, - Выводит информацию о процессе в консоль.

Можно модифицировать скрипт :

  • Сохранять пропорции изображения, используя метод .thumbnail() вместо .resize().
  • Менять качество JPEG, добавив параметр quality=... при сохранении.
  • Добавить обрезку, поворот или другие эффекты.
  • Конвертировать форматы, например, из PNG в JPG.

Где может пригодиться?

Подобные скрипты полезны не только для бытового использования. Они активно применяются в веб-разработке, автоматизации, машинном обучении и компьютерном зрении. Например, подготовка датасета для нейросети — задача, где обработка изображений играет ключевую роль.

Python — мощный инструмент для автоматизации. С помощью всего лишь нескольких строк кода вы можете значительно сэкономить время и силы.