【发布时间】:2020-12-30 11:29:41
【问题描述】:
有一个similar question in Python,但我问的是 Julia 版本。
我有一个形状为img = (3, 64, 64) 的多维数组,它表示一个第一维为RGB 的图像。我想使用 plt.imshow(img) 在 Jupyter Notebook 中显示图像,但 plt.imshow 采用形状为 (64, 64, 3) 的数组。所以,
有没有内置函数可以转换img而不改变像素的顺序?
注意:reshape(img, (64, 64, 3)) 不起作用。我试过了,没有得到原始图像。
我写了一个嵌套的for 循环来说明我想要什么:
# Suppose img has been created
img_reshaped = zeros(size(img)[2], size(img)[3], size(img)[1])
for i in 1: size(img)[2]
for j in 1: size(img)[3]
for k in 1: size(img)[1]
img_reshaped[i,j,k] = img[k,j,i]
end
end
end
plt.imshow(test_img)
上面的for 循环给出了
reshape(img, (64, 64, 3)) 给了
这是不希望的。
【问题讨论】:
-
你在找
permutedims,我想。 -
@mcabbott 你是对的!有用!谢谢!您能否将您的评论作为答案,以便我接受?