为什么Image numpy数组转置及其逆变色通道?

时间:2017-11-16 16:45:27

标签: python arrays numpy

当我只是转置图像并反转转置图像颜色通道时不会像这里那样改变

test = rgb.transpose(2,0,1)
test2 = test.transpose(1,2,0)

但是当我在幻灯片数组中添加它们并执行相同的操作时,颜色会发生变化

Train_x = np.zeros((1,4,x,x))
Train_x[0,0:3,:,:] = rgb.transpose(2,0,1)
s = Train_x[0,0:3,:,:]
s = s.transpose(1,2,0)

我测试了它们的值,它们具有完全相同的值。只是当我使用matplotlib将它们一起绘制时,它们具有不同的颜色

1 个答案:

答案 0 :(得分:0)

解决方案是在将图像提供给matplotlib之前将图像转换为uint8

astype(np.uint8)

因为这个功能

if A.dtype != np.uint8:
    A = (255*A).astype(np.uint8)