我想知道如何将代表图像数据的numpy数组在新大小下重新采样,最好可以选择插值方法(最近邻、双线性等)。我知道有
scipy.misc.imresize
通过包装PIL的resize函数,它确切地做到了这一点。唯一的问题是,由于它使用PIL,numpy数组必须符合图像格式,最多只能有4个“颜色”通道。
我想能够调整任意数量的“颜色”通道的任意图像大小。我想知道在scipy / numpy中是否有简单的方法来实现这一点,或者我需要自己编写代码。
我有两个构思:
- 对每个通道单独运行
scipy.misc.imresize
的函数 - 使用
scipy.ndimage.interpolation.affine_transform
创建自己的函数
第一个方法可能会因为数据量大而较慢,而第二个方法似乎除了样条插值之外没有提供其他插值方法。
scipy.interpolate.griddata
吗? 链接 - Isaacinterp2d
,但不仅极其有错,而且我甚至不确定它是否会正确地对数据进行下采样。 - Gustav Larsson