【发布时间】:2019-09-24 05:24:43
【问题描述】:
我有一个 32x32 的 numpy 数组,它表示一个图像,其中 50% 的值(即 512 个像素)是 NaN。我想使用 scipy.interpolate 中的 griddata 函数来填充这些缺失值,以便我可以重建图像。
但是,我很难理解 griddata 函数以及如何将我的图像数组传递给它。该函数的参数列在documentation 中,但我无法理解这些参数在我的数据上下文中的含义。
到目前为止,我所了解的是,xi 参数表示我想要插值的图像数组中的索引,我认为这将是 NaN 所在的所有位置。 values 参数将是我的图像数组,但文档中提到的形状是 (n,) 所以我必须展平数组吗?而且我真的不确定points 参数代表什么。
图像数组看起来像这样:
array([[[ nan, 79., nan, ..., nan, nan, 44.],
[ nan, 84., 45., ..., 48., 84., 44.],
[ nan, nan, 56., ..., 42., 66., 34.],
...,
[126., nan, nan, ..., 70., nan, 133.],
[135., 137., nan, ..., nan, nan, nan],
[142., nan, nan, ..., nan, nan, 151.]]])
欢迎提出任何建议。另外,有没有更好的方法来插入丢失的像素值?谢谢。
【问题讨论】:
标签: python numpy scipy interpolation