在对图像进行转置操作时,可以使用 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 函数将其转换为图像。这样就可以将转置后的图像再次复原了。


universe_king
3.4k 声望680 粉丝