我正在寻找如何重新采样以新尺寸表示图像数据的numpy数组,最好选择插值方法(最近,双线性等).我知道有
scipy.misc.imresize
Run Code Online (Sandbox Code Playgroud)
这通过包装PIL的调整大小功能来完成这一点.唯一的问题是,因为它使用PIL,numpy数组必须符合图像格式,给我最多4个"颜色"通道.
我希望能够使用任意数量的"颜色"通道调整任意图像的大小.我想知道是否有一种简单的方法可以在scipy/numpy中执行此操作,或者如果我需要自己滚动.
关于如何自己编造一个我有两个想法:
scipy.misc.imresize分别在每个通道上运行的函数scipy.ndimage.interpolation.affine_transform对于大数据,第一个可能会很慢,而第二个似乎不提供除样条之外的任何其他插值方法.
我想将形状(h,w)的数组缩放n倍,得到一个形状的数组(h*n,w*n),其中.
假设我有一个2x2阵列:
array([[1, 1],
[0, 1]])
Run Code Online (Sandbox Code Playgroud)
我想将数组缩放为4x4:
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[0, 0, 1, 1],
[0, 0, 1, 1]])
Run Code Online (Sandbox Code Playgroud)
也就是说,原始数组中每个单元格的值被复制到结果数组中的4个相应单元格中.假设任意数组大小和缩放因子,最有效的方法是什么?