我将一个numpy数组保存到图像,如下所示:plt.imshow(xNext[0,:,:,0]) #xNext has shape (1,64,25,1)print(xNext[0,:,:,0].shape) #outputs (64,25)plt.savefig(os.path.join(root,filename)+'.png')np.save(os.path.join(root,filename)+'.npy',xNext[0,:,:,0])如何从.png保存的图像中获取相同的numpy数组?如果我另存为.jpg图片,也可以告诉我吗?我尝试了以下操作,并与3D数组(v1)一起使用,其中生成的图像接近原始numpy数组生成的图像(原始)。image = Image.open(imageFilename) #brings in as 3D arraybox = (315,60,500,540)image = image.crop(box)image = image.resize((25,64)) #to correct to desired shapearr = np.asarray(image)plt.imshow(arr)plt.savefig('v1.png')plt.close()但是,当我将3D数组转换为2D数组时,生成的图像是不同的(v1b和v1c)。arr2 = arr[:,:,0]plt.imshow(arr2)plt.savefig('v1b.png')plt.close()arr3 = np.dot(arr[...,:3],[0.299,0.587,0.11])plt.imshow(arr3)plt.savefig('v1c.png')plt.close()如何将3D正确转换为2D?谢谢你的帮助。原始版本v1(从3D阵列保存)v1b,v1c(从2D数组保存)原始尺寸(具有原始尺寸)
添加回答
举报
0/150
提交
取消