Введение
В этом практическом занятии мы научимся вырезать изображение с помощью патчей с использованием библиотеки Matplotlib для Python. Вырезание изображения с помощью патчей позволяет выделить определенные области изображения или обрезать изображение до определенной формы.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Для начала работы нам нужно импортировать необходимые библиотеки. Мы будем использовать Matplotlib для отображения изображения и создания патча, а библиотеку cbook для загрузки образцового изображения.
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.patches as patches
Загрузка изображения
Мы будем использовать метод get_sample_data из cbook для загрузки образцового изображения. Этот метод возвращает объект, подобный файлу, который мы можем передать в imshow для отображения изображения.
with cbook.get_sample_data('grace_hopper.jpg') as image_file:
image = plt.imread(image_file)
Отображение изображения
Теперь мы можем отобразить изображение с использованием метода imshow библиотеки Matplotlib. Мы также отключим оси, чтобы увидеть только изображение.
fig, ax = plt.subplots()
im = ax.imshow(image)
ax.axis('off')
Создание патча
Для создания патча мы будем использовать модуль patches библиотеки Matplotlib. Мы создадим круговой патч с радиусом 200 пикселей, центрированный в точке (260, 200).
patch = patches.Circle((260, 200), radius=200, transform=ax.transData)
Обрезать изображение
Наконец, мы обрежем изображение с использованием метода set_clip_path изображения. Этот метод принимает патч в качестве аргумента и обрезает изображение по форме патча.
im.set_clip_path(patch)
Отобразить обрезанное изображение
Теперь мы можем отобразить обрезанное изображение с использованием метода show библиотеки Matplotlib.
plt.show()
Резюме
В этом практическом занятии мы узнали, как обрезать изображение с помощью патчей с использованием библиотеки Matplotlib для Python. Мы загрузили пример изображение, создали круговой патч и обрезали изображение по форме патча. Обрезание изображений с использованием патчей может быть полезно для выделения определенных областей изображения или обрезки изображения до определенной формы.