在对图像进行转置操作时,能够应用 numpy.transpose 函数将图像的通道轴与高度轴、宽度轴进行替换,从而达到目标。例如,如果要将一个 RGB 图像转换为通道-高度-宽度的数组,能够应用以下代码:
import numpy as npfrom 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 函数将其转换为图像。这样就能够将转置后的图像再次还原了。