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, 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; it is normal indexing.
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 thex
andy
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 marked, as shown in the following screenshot:
The following is the complete code for this recipe from the
fancy.py
file in this book's code bundle:import scipy.misc import matplotlib.pyplot...