我需要以执行局部平均的方式将2D numpy数组的非整数因子(例如100x100数组降到45x45数组),就像Photoshop/gimp对图像那样。我需要双倍精度。目前的选项做不好。在
scipy.ndimage.zoom
不执行平均,基本上使用
最近邻抽样(见上一个问题scipy.ndimage.interpolation.zoom uses nearest-neighbor-like algorithm for scaling-down)
scipy.misc.imresize
将数组转换为int8;我需要更多
精度和浮点
skimage.transform.rescale
还使用最近邻并将您转发到skimage.transform.downscale_local_mean
进行局部平均,
skimage.transform.downscale_local_mean
只能执行整数缩放因子(如果因子是非整数,则使用零填充图像)。整数比例因子是一个微不足道的numpy过度。
我错过了其他的选择吗?在
我最后编写了一个小函数,它使用
scipy.ndimage.zoom
对图像进行放大,但是对于缩小尺寸,它首先将其放大为原始形状的倍数,然后通过块平均缩小比例。它接受scipy.zoom
(order
和prefilter
)的任何其他关键字参数我仍然在寻找一个更干净的解决方案使用可用的软件包。在
相关问题 更多 >
编程相关推荐