[英]Swapping array dimensions with NumPy
当我使用PIL加载图像并将其转换为NumPy数组时:
image = Image.open("myimage.png")
pixels = np.asarray(image)
数据存储为[x] [y] [channel]。 即,pixels [3,5,0]的值将是(3,5)像素,以及该像素的红色分量。
但是,我使用的库要求图像的格式为[channel] [x] [y]。 因此,我想知道如何进行此转换?
我知道NumPy具有reshape
功能,但这实际上并不允许您按照我的意愿“交换”尺寸。
有什么帮助吗? 谢谢!
为了按所需顺序获取尺寸,可以使用如下的transpose方法:
image = Image.open("myimage.png")
pixels = np.asarray(image).transpose(2,0,1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.