背景:有一个npy数组打开之后发现是(depth,h,w)的shape,但是tensorflow2的输入要求是(h,w,c)的格式,因此需要转一下,但是直接转shape的格式会改变图像,因此需要将图片单独取出来,然后做堆叠。
import numpy as np
import matplotlib.pyplot as plt
img = np.load('images_0001_0009.npy')
print(img.shape)
imgNew = img[0]
for i in range(1,3):
imgNew = np.dstack((imgNew,img[i])) # 堆叠
print(imgNew.shape)
""" img[0] 和 img[:,:,0]是同一张图 """
imgte = imgNew[:,:,1]
img0 = img[1]
plt.subplot(1,2,1)
plt.imshow(imgte,cmap='gray')
plt.title('imgte')
plt.subplot(1,2,2)
plt.title('img0')
plt.imshow(img0,cmap='gray')
plt.show()