花式索引是一种传统的索引方法,它不使用整数或者切片。这里,我们将利用花式索引把莱娜照片对角线上的值全部设置为0,相当于沿着两条交叉的对角线画两条线。
import scipy.misc
import matplotlib.pyplot as plt
face = scipy.misc.face()
xmax = face.shape[0]
ymax = face.shape[1]
face = face[:min(xmax,ymax),:min(xmax,ymax)]
xmax = face.shape[0]
ymax = face.shape[1]
#将第一条对角线上的值设为0
#为了将对角线山的值设置为0,我们需要给x和y值(直角坐标系中的坐标)规定两个不同的范围
face[range(xmax),range(ymax)] = 0
#将另一条对角线上的值设为0
#要设置另一条对角线上的值,需要规定两个不同的取值范围,但是规则不变。
face[range(xmax-1,-1,-1), range(ymax)] = 0
plt.imshow(face)
plt.show()