Fancy indexing
In this tutorial, we will apply fancy indexing to set the diagonal values of the Lena image to 0
. This will draw black lines along the diagonals, crossing it through, not because there is something wrong with the image, but just as an exercise.
Fancy indexing is indexing that does not involve integers or slices, which is normal indexing.
How to do it...
We will start with the first diagonal:
Set the values of the first diagonal to
0
.To set the diagonal values to
0
, we need to define two different ranges for the x and y values:lena[range(xmax), range(ymax)] = 0
Set the values of the other diagonal to
0
.To set the values of the other diagonal, we require a different set of ranges, but the principles stay the same:
lena[range(xmax-1,-1,-1), range(ymax)] = 0
At the end, we get this image with the diagonals crossed off, as shown in the following screenshot:
The following is the complete code for this recipe:
import scipy.misc import matplotlib.pyplot # This script demonstrates fancy...