二维矩阵转图像的浅显理解以及图像尺寸的调整

首先如果给出的二维矩阵是ndarray类型,那么可以直接matplotlib.pyplot.imshow()将矩阵进行图像化的处理,但如果矩阵不是ndarray类型,我们需要先将矩阵通过np.array()转换为numpy的ndarray类型。

关于图像的尺寸调整,很多时候我们需要调整图像的尺寸以适应网络模型对输入的维度要求,这里介绍 resize 和 ImageOps,其中 resize 有时候会出现 “ValueError: unknown resampling filter” 的error,这是因为传递给resize模块的图像对象不支持指定的插值方法,而ImageOps可以根据指定尺寸自动对图像进行缩放,避免上述error且能输出任意尺寸。

import numpy as np
from PIL import Image,ImageOps

#加载数据并将其转换为图像
x = np.load('D:\\practice\\DCGAN\\normal_imgs\\arr_0.npy')
x = (x-np.min(x))*255/np.max(x)
im = Image.fromarray(np.uint8(x))  ##Image.formarray(np.unit8())是将二维数据编码为图像
#x = im.point(lambda i:i*1.2)

im.show()
im.save('1.jpg')

#修改图像尺寸至256*128
#width=500
#height=int((width/float(im.size[0]))*float(im.size[1]))
resized_im=ImageOps.fit(im,(256,128),Image.Resampling.LANCZOS)#这里的Image.Resampling.LANCZOS指的是高质量插值方法
resized_im.show()
resized_im.save('2.jpg')

img.resize()函数的作用和用法-单张图像变换大小-CSDN博客

Flask PIL:ValueError: unknown resampling filter,如何调整在Flask上上传的图像大小|极客笔记 (deepinout.com)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值