在本节中,我们将应用花式索引,它可用于将任何图像或数组的对角线值设置为 0,当然这只是举例说明。

这将沿着对角线绘制黑线,并将其交叉,这并不是因为图像有什么问题,而只是作为一种练习。花式索引是不涉及整数或切片的索引;它是正常的索引。

分两步进行,让我们来看看它是如何完成的。

我们从第一条对角线开始:

NumPy基础之花式索引

首先, 让我们使用索引将第一条对角线的值设置为 0。

为了将对角线的值设置为 0,我们需要为 ( x ) 和 ( y ) 轴的值定义两个不同的范围,如下所示:

NumPy基础之花式索引

第二步 现在,我们将另一条对角线的值设置为 0。

要设置另一条对角线的值,我们需要一组不同的范围,但原则是相同的:

NumPy基础之花式索引

最后,我们会得到如下截图所示的标有对角线的图像:

NumPy基础之花式索引

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

我们为 x 值和 y 值定义了不同的范围。这些范围用于对 Lena 数组进行索引。索引是基于 NumPy 内部的迭代器对象执行的。具体步骤如下

  1. 创建迭代器对象。
  2. 将迭代器对象绑定到数组。
  3. 通过迭代器访问数组元素。

参考资料。

花式索引实现的文档如下:http://docs.scipy.org/doc/numpy-dev/reference/internals.code-explanations.html#fancyindexing-check