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

При работе с большим количеством изображений — будь то фотографии, скриншоты или графика для сайта — часто возникает необходимость изменить их размеры. Например, чтобы оптимизировать под загрузку на сайт или социальные сети. Делать это вручную долго и неудобно, но с помощью языка Python эту задачу легко автоматизировать.
Что нам понадобится?
Для массового изменения размеров изображений мы воспользуемся библиотекой Pillow, которая является одной из самых популярных библиотек для работы с изображениями в Python.
Установите её следующей командой:
pip install pillow
Подготовка файлов
- Создадим папку, например, photos, и поместим в неё все изображения для обработки.
- Также создадим папку 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 — мощный инструмент для автоматизации. С помощью всего лишь нескольких строк кода вы можете значительно сэкономить время и силы.
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.