在对图像进行转置操作时,能够应用 numpy.transpose 函数将图像的通道轴与高度轴、宽度轴进行替换,从而达到目标。例如,如果要将一个 RGB 图像转换为通道 - 高度 - 宽度的数组,能够应用以下代码:
import numpy as np
from PIL import Image
# 加载图像
image = Image.open("test.jpg")
# 将图像转换为数组
array = np.asarray(image)
# 将通道轴与高度、宽度轴替换
transposed_array = np.transpose(array, (2, 0, 1))
# 将转置后的数组转换为图像
transposed_image = Image.fromarray(transposed_array.transpose(1, 2, 0))
在下面的代码中,咱们首先应用 PIL 库的 Image.open 函数加载一个图像,而后应用 numpy.asarray 函数将图像转换为数组。接下来,咱们应用 numpy.transpose 函数将通道轴与高度、宽度轴替换,并将后果存储在 transposed_array 变量中。最初,咱们将转置后的数组再次进行转置,并应用 PIL.Image.fromarray 函数将其转换为图像。这样就能够将转置后的图像再次还原了。