为了账号安全,请及时绑定邮箱和手机立即绑定

从.jpg图像转换回2D numpy数组

从.jpg图像转换回2D numpy数组

幕布斯6054654 2021-05-04 17:18:16
我将一个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数组保存)原始尺寸(具有原始尺寸)
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

关联

 from scipy.misc import imread
 image_data = imread('test.jpg').astype(np.float32)

这应该给你numpy数组(我建议使用scipy的imread)


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信