Матплотлиб: уменьшенные изображения

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь создавать уменьшенные копии изображений (миниатюры) с использованием библиотеки Matplotlib в Python. Миниатюры — это уменьшенные версии изображений, которые можно использовать для отображения предварительного просмотра большего изображения. Matplotlib зависит от библиотеки Pillow для чтения изображений и поддерживает все форматы, поддерживаемые Pillow.

Советы по использованию ВМ

После запуска виртуальной машины щелкните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.

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

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Установка необходимых библиотек

Сначала вам необходимо установить необходимые библиотеки. Откройте терминал и введите следующие команды для установки Matplotlib и Pillow:

pip install matplotlib
pip install pillow

Импорт библиотек

В этом шаге вы импортируете библиотеки, которые вы установили на предыдущем шаге. Необходимо импортировать ArgumentParser и Path из модулей argparse и pathlib соответственно. Также импортируйте модули sys и image из модулей sys и matplotlib.image соответственно.

from argparse import ArgumentParser
from pathlib import Path
import sys
import matplotlib.image as image

Анализ аргументов

В этом шаге вы будете анализировать аргументы, переданные в вашу программу. Вам необходимо создать объект ArgumentParser и добавить аргумент с именем imagedir. Этот аргумент задает путь к директории, содержащей изображения. Вы можете использовать параметр type, чтобы указать тип данных аргумента. В этом случае аргумент должен быть типа Path.

parser = ArgumentParser(description="Build thumbnails of all images in a directory.")
parser.add_argument("imagedir", type=Path)
args = parser.parse_args()

Проверить директорию

В этом шаге вы проверите, существует ли указанная директория. Если директория не существует, вы выйдете из программы и выведете сообщение об ошибке.

if not args.imagedir.is_dir():
    sys.exit(f"Could not find input directory {args.imagedir}")

Создать директорию для вывода

В этом шаге вы создадите директорию с именем thumbs, где будут сохранены уменьшенные изображения. Если директория уже существует, она не будет создана повторно.

outdir = Path("thumbs")
outdir.mkdir(parents=True, exist_ok=True)

Генерировать уменьшенные изображения

В этом шаге вы будете генерировать уменьшенные изображения для всех изображений в указанной директории. Вы будете использовать цикл for для перебора всех изображений с расширением .png в указанной директории. Для каждого изображения вы будете генерировать уменьшенное изображение и сохранять его в директории thumbs.

for path in args.imagedir.glob("*.png"):
    outpath = outdir / path.name
    fig = image.thumbnail(path, outpath, scale=0.15)
    print(f"saved thumbnail of {path} to {outpath}")

Резюме

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