мое примерное изображение выглядит так:
array([[2, 0, 2, 0, 3, 0],
[0, 0, 0, 0, 0, 0],
[2, 0, 2, 0, 4, 0],
[0, 0, 0, 0, 0, 0],
[9, 0, 3, 0, 3, 0],
[0, 0, 0, 0, 0, 0]])
Я хочу вычислить все значения отсутствующих пикселей, которые равны 0, на основе значений соседних пикселей.
Формула для расчета недостающего пикселя выглядит следующим образом:
Где DN - доступные значения, X - значения, выбранные DN, и должны быть заполнены.
X01 = 0.5 DN00 + 0.5 DN02
X10 = 0.5 DN00 + 0.5 DN20
X11 = 0.25 DN00 + 0.25 DN02 + 0.25 DN20 + 0.25 DN22
X12 = 0.5 DN02 + 0.5 DN22
X21 = 0.5 DN20 + 0.5 DN22
До сих пор я пытался convolve2d на изображении с
from scipy.signal import convolve2d
kernel = array([[1. , 0.5, 1. ],
[0.5, 1. , 0.5],
[1. , 0.5, 1. ]])
convolve2d(a, kernel, boundary='wrap', mode='same')
но вывод неправильный:
array([[ 2. , 2. , 2. , 2.5, 3. , 2.5],
[ 2. , 8. , 2. , 11. , 3.5, 11. ],
[ 2. , 2. , 2. , 3. , 4. , 3. ],
[ 5.5, 16. , 2.5, 12. , 3.5, 18. ],
[ 9. , 6. , 3. , 3. , 3. , 6. ],
[ 5.5, 16. , 2.5, 11. , 3. , 17. ]])
что я здесь не так делаю? любая помощь будет оценена.