python中的循环卷积

python中的循环卷积,python,numpy,Python,Numpy,Python有没有办法在两个1D数组之间执行循环卷积, 与Matlab函数类似cconv? 我尝试了numpy.convolve,但它不一样,我找不到等效的。您可以尝试以下命令: 您有一个名为mode的选项,您可以编写mode=wrap 这样,就可以得到周期性边界条件作为卷积的填充 例如: result = scipy.ndimage.convolve(image,kernel,mode='wrap') import numpy as np image = np.array([[0, 0, 0

Python有没有办法在两个1D数组之间执行循环卷积, 与Matlab函数类似
cconv

我尝试了
numpy.convolve
,但它不一样,我找不到等效的。您可以尝试以下命令:

您有一个名为
mode
的选项,您可以编写
mode=wrap

这样,就可以得到周期性边界条件作为卷积的填充

例如:

result = scipy.ndimage.convolve(image,kernel,mode='wrap')

import numpy as np
image = np.array([[0, 0, 0, 0],
                  [0, 0, 0, 1],
                  [0, 0, 0, 0]])
kernel = np.array([[1, 1, 1],
                    [1, 1, 1],
                    [1, 1, 1]])
from scipy.ndimage import convolve
convolve(image, kernel, mode='wrap')
array([[1, 0, 1, 1],   
       [1, 0, 1, 1],
       [1, 0, 1, 1]])