最近在看python源代码的时候对 image = image[:,::-1,:] 一行代码不太理解,通过查阅得知了这一行代码的含义,特此记录下来:
首先,这一行代码产生的效果是对原来的一张图片实现 翻转(flip) 的效果,效果图如下:
接下来详细解释一下这一行代码的含义(image是一个三维数组):
1. image[:,::-1,:]中的第一个冒号代表了图片的纵列,单独一个冒号指的是对图片的所有纵列进行操作。
2. image[:,::-1,:]中的 ::-1 的是表示从右向左进行遍历输出(对应的模式是 start:end:stride),::-1中第一个冒号代表读取每行第一个到最后一个像素,第二个冒号后是切片步长,如果为1则和原图一样排列,如果为-1则是反向排列(镜像),经过这个之后便实现了翻转。
3. 最后一个冒号代表的是图片的通道