如何使用python增加图像的大小?

如何使用python增加图像的大小?,python,image-resizing,cnn,Python,Image Resizing,Cnn,我有大小为48x48的图像。我想将其大小增加到150x150,以便使用转移学习(CNN)进行培训。可能的方法是什么?我只看到过减小图像大小而不增大图像大小的调整大小方法,您可以毫无问题地使用tensorflow.image.resize方法 tf.image.resize(X, [150, 150]) 如果您阅读tensorflow的文档,它说明您可以使用不同的方法进行向下采样和向上采样 方法参数需要image.ResizeMethod枚举中的项或等效字符串。这些选择包括: 双线性:双线性插

我有大小为48x48的图像。我想将其大小增加到150x150,以便使用转移学习(CNN)进行培训。可能的方法是什么?我只看到过减小图像大小而不增大图像大小的调整大小方法,您可以毫无问题地使用
tensorflow.image.resize
方法

tf.image.resize(X, [150, 150])
如果您阅读tensorflow的文档,它说明您可以使用不同的方法进行向下采样和向上采样

方法参数需要image.ResizeMethod枚举中的项或等效字符串。这些选择包括:

  • 双线性:双线性插值。如果antialias为true,则变为 下采样时半径为1的帽子/帐篷过滤器功能
  • lanczos3:半径为3的Lanczos内核。高质量实用滤波器,但可能有一些振铃,尤其是在合成图像上
  • lanczos5:半径为5的Lanczos内核。非常高质量的过滤器,但可能有更强的振铃
  • 双三次:三次键插值。相当于Catmull Rom内核。质量相当好,速度比Lanczos3内核快, 尤其是在上采样时
  • 高斯:半径为3的高斯核,σ=1.5/3.0
  • 最近邻:最近邻插值。与最近邻插值一起使用时,“抗锯齿”无效
  • 区域:使用区域插值进行抗锯齿重采样。当与面积插值一起使用时,antialias不起作用;总是 消除别名
  • mitchellcubic:Mitchell-Netravali立方非插值滤波器。对于合成图像(尤其是缺少适当预滤波的图像), 与立方体内核相比,响声更小,但更不尖锐

这可能有效

from PIL import Image
import numpy as np

# random image data
image_data = np.random.randint(low=0, high=256, size=(48,48,3)).astype(np.uint8)

image_small = Image.fromarray(image_data)

# there are many settings you can play here, depending on how you want the image resized
image_large = image_small.resize((120,120))

np.array(image_large)

您可以进行填充或调整大小(缩放图像),就像使用PIL或cv2.resize函数进行缩小一样。用同样的。但问题是,将图像大小(如果两个较小,则输入)增加到150*150后,可能会得到不太好的结果,但您可以尝试。