我想这样沿y = x轴翻转图像。
我已经使此函数执行我想要的操作,但是我想知道是否有更优化的方法来执行此操作。处理大图像时,我做的功能有点慢
def flipImage(img):
# Get image dimensions
h, w = img.shape[:2]
# Create a image
imgYX = np.zeros((w, h, 3), np.uint8)
for y in range(w):
for x in range(h):
imgYX[y,x,:]=img[x,y,:] #Flip pixels along y=x
return imgYX
答案 0 :(得分:5)
仅swap the first two axes
对应于高度和宽度-
img.swapaxes(0,1) # or np.swapaxes(img,0,1)
我们也可以使用transpose
来排列轴-
img.transpose(1,0,2) # or np.transpose(img,(1,0,2))
我们也可以roll axes
达到相同的效果-
np.rollaxis(img,0,-1)