Понимание функции scipy.ndimage.filters.convolve - PullRequest
0 голосов
/ 23 мая 2018

Так что я использую функцию scipy.ndimage.filters.convolve.Я понял, как это работает для 2D матриц из документации .Но когда я применяю это к 3D матрицам, это дает результаты, которые я не могу интерпретировать.Например:

In[80]: a = np.array([[[1,2,3], [1,2,3], [1,2,3]],[[1,2,3], [1,2,3], [1,2,3]],[[1,2,3], [1,2,3], [1,2,3]]])


In[81]: b = np.array([[[1,2,3], [1,2,3], [1,2,3]],[[1,2,3], [1,2,3], [1,2,3]],[[1,2,3], [1,2,3], [1,2,3]]])

In[82]: scimg.convolve(a, b, output = None, mode = 'constant')

Out[83]: 
array([[[ 16,  40,  48],
        [ 24,  60,  72],
        [ 16,  40,  48]],

       [[ 24,  60,  72],
        [ 36,  90, 108],
        [ 24,  60,  72]],

       [[ 16,  40,  48],
        [ 24,  60,  72],
        [ 16,  40,  48]]])

Я понял свертку из этого поста .Таким образом, по мне, индекс (0, 0, 0) должен быть 8. Аналогично (0, 0, 1) должно быть 20. Где я иду неправильно в понимании?

РЕДАКТИРОВАТЬ: Буду признателен, даже если кто-нибудь скажет мне, как работает модуль для изображений nD (или каналов) с фильтрами nD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...