使用补丁裁剪图像

Beginner

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

简介

在本实验中,我们将学习如何使用 Python 的 Matplotlib 库用补丁裁剪图像。用补丁裁剪图像可以让你突出显示图像的特定区域,或将图像裁剪成特定形状。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入库

首先,我们需要导入必要的库。我们将使用 Matplotlib 来显示图像并创建补丁,使用 cbook 库来加载示例图像。

import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.patches as patches

加载图像

我们将使用 cbook 中的 get_sample_data 方法来加载一张示例图像。此方法返回一个类似文件的对象,我们可以将其传递给 imshow 以显示图像。

with cbook.get_sample_data('grace_hopper.jpg') as image_file:
    image = plt.imread(image_file)

显示图像

现在我们可以使用 Matplotlib 的 imshow 方法来显示图像。我们还将关闭坐标轴,这样就只会看到图像。

fig, ax = plt.subplots()
im = ax.imshow(image)
ax.axis('off')

创建补丁

为了创建补丁,我们将使用 Matplotlib 的 patches 模块。我们将创建一个半径为 200 像素的圆形补丁,圆心位于点 (260, 200) 处。

patch = patches.Circle((260, 200), radius=200, transform=ax.transData)

裁剪图像

最后,我们将使用图像的 set_clip_path 方法来裁剪图像。此方法将补丁作为参数,并将图像裁剪为补丁的形状。

im.set_clip_path(patch)

显示裁剪后的图像

现在我们可以使用 Matplotlib 的 show 方法来显示裁剪后的图像。

plt.show()

总结

在本实验中,我们学习了如何使用 Python 的 Matplotlib 库用补丁裁剪图像。我们加载了一个示例图像,创建了一个圆形补丁,并将图像裁剪为补丁的形状。用补丁裁剪图像对于突出显示图像的特定区域或将图像裁剪为特定形状可能很有用。