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

Как массово изменить размеры фото с помощью 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, рекомендую посмотреть мой видеокурс Написание лайфхаков на Python.

    Заключение

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

    Источник

    НЕТ КОММЕНТАРИЕВ

    Оставить комментарий