相关疑难解决方法(0)

重新采样表示图像的numpy数组

我正在寻找如何重新采样以新尺寸表示图像数据的numpy数组,最好选择插值方法(最近,双线性等).我知道有

scipy.misc.imresize
Run Code Online (Sandbox Code Playgroud)

这通过包装PIL的调整大小功能来完成这一点.唯一的问题是,因为它使用PIL,numpy数组必须符合图像格式,给我最多4个"颜色"通道.

我希望能够使用任意数量的"颜色"通道调整任意图像的大小.我想知道是否有一种简单的方法可以在scipy/numpy中执行此操作,或者如果我需要自己滚动.

关于如何自己编造一个我有两个想法:

  • 一个scipy.misc.imresize分别在每个通道上运行的函数
  • 创建我自己的使用 scipy.ndimage.interpolation.affine_transform

对于大数据,第一个可能会很慢,而第二个似乎不提供除样条之外的任何其他插值方法.

python numpy image-processing scipy python-imaging-library

70
推荐指数
4
解决办法
8万
查看次数

如何"缩放"一个numpy数组?

我想将形状(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个相应单元格中.假设任意数组大小和缩放因子,最有效的方法是什么?

python arrays scaling numpy

24
推荐指数
4
解决办法
2万
查看次数