使用Python做图像处理时,经常需要对图像作变换,简短记录常用的操作
array[:,:,:]其中:所占的位置对应相应的维度操作
示例array:
import numpy as np
# 3x3x3
a = np.array([
[[1,2,3],[4,5,6],[7,8,9]],
[[10,11,12],[13,14,15],[16,17,18]],
[[19,20,21],[22,23,24],[25,26,27]]
])
起始索引,冒号前
#行切片 索引1之后所有行,包括索引1
row = a[1:,:,:]
#列切片 索引1之后所有列,包括索引1
column = a[:,1:,:]
#层切片 索引1之后所有层,包括索引1
layer = a[:,:,1:]
截止索引,冒号后
#行切片 索引1之前所有行,不包括索引1
row = a[:1,:,:]
#列切片 索引1之前所有列,不包括索引1
column = a[:,:1,:]
#层切片 索引1之前所有层,不包括索引1
layer = a[:,:,:1]
起始和截止索引,冒号前后
#行切片 索引1开始,索引2截止,不包括索引2
row = a[1:2,:,:]
#列切片 索引1开始,索引2截止,不包括索引2
column = a[:,1:2,:]
#层切片 索引1开始,索引2截止,不包括索引2
layer = a[:,:,1:2]
索引换位
#行 将索引0和1对换位置,2不变
a = a[(1,0,2),:,:,]
#列 将索引0和1对换位置,2不变
a = a[:,(1,0,2),:]
#层 将索引0和1对换位置,2不变
a = a[:,:,(1,0,2)]