У меня есть массив 32x32, представляющий изображение, в котором 50% значений, которые составляют 512 пикселей, являются значениями NaN.Я хочу использовать функцию griddata из scipy.interpolate, чтобы заполнить эти пропущенные значения, чтобы я мог восстановить изображение.
Однако мне трудно понять функцию griddata и как точно передать ей массив изображений.Аргументы функции перечислены в документации , но я не могу понять, что эти аргументы значат в контексте моих данных.
Насколько я понимаю, аргумент 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.]]])
Любые предложения приветствуются.Кроме того, есть ли лучший способ интерполировать значения отсутствующих пикселей?Спасибо.