在本节中,我们将首先加载 SciPy 发行版中提供的 Lena 示例图像,并将其加载到一个数组中。

需要注意的是,本节并不涉及图像处理;我们只是将图像数据作为输入。

提示。莉娜-索德伯格曾出现在 1972 年的《花花公子》杂志上。由于历史原因,其中一张图片经常被用于图像处理领域。别担心,这张图片在工作中是完全安全的。

我们将使用 ( repeat )方法调整图片大小。该方法会重复一个数组,在我们的使用案例中,这意味着按一定的系数调整图像大小。

本节的前提条件是已安装 SciPy、matplotlib 和 PIL。请参阅本页中的相应部分。

操作步骤有四个,让我们来看看如何操作。

如果我们想调整图片大小,需要遵循以下步骤:

**第一步:导入 SciPy。

SciPy 删除了 ( lena ) 方法。因此,你可以使用 ( imageio.imread)方法

该方法用于将图像加载到一个 NumPy 数组中,如下所示:

学numpy之调整图像大小

第二步: 使用(numpy.testing)模块中的( assert_equal )方法检查 Lena 数组的形状。

模块 ( numpy.testing) 中的 ( assert_equal ) 方法检查 Lena 数组的形状:

学numpy之调整图像大小

第三步 使用 ( repeat ) 方法调整 Lena 数组的大小。我们在 ( x ) 和 ( y ) 方向上为该方法赋予一个调整因子:

学numpy之调整图像大小

第四部分 我们将在两个子绘图中绘制 Lena 的图像和调整后的图像,这两个子绘图是同一个网格的一部分。

使用此代码在子图中绘制 Lena 数组:

学numpy之调整图像大小

名为 ( subplot ) 的 matplotlib 方法会创建一个子绘图。该方法接受一个三位整数作为参数,分别是

  1. 第一位数字是行数。
  2. 第二位数字是列数。
  3. 第三位数字是子图的索引。

( imshow ) 方法显示图像。最后,( show ) 方法显示最终结果。在另一个子绘图中绘制并显示调整后的数组。现在的索引是 2:

学numpy之调整图像大小

你现在需要知道发生了什么?

( repeat ) 方法会重复数组,在这种情况下会改变原始图像的大小。( subplot ) matplotlib 方法会创建一个子图。

( imshow ) 方法显示图像。最后,( show )方法会显示最终结果。

参考资料

在本章中安装 SciPy

在本章中安装 PIL

有关 ( repeat ) 方法的介绍,请访问 http://docs.scipy.org/doc/numpy/reference/generated/numpy.repeat.html。