中的几个函数scipy.ndimage.filters
,包括scipy.ndimage.filters.convolve
,都有一个“模式”参数,用于定义它在边界处的行为方式。mode='constant'
对超出边界的点使用常量值,同时mode='wrap'
环绕。这适用于所有轴。
我想对二维数组(例如)进行卷积,以便:
- 边界外的轴 0 点环绕
- 边界外轴 1 的点是常数
最有效的方法是什么?
中的几个函数scipy.ndimage.filters
,包括scipy.ndimage.filters.convolve
,都有一个“模式”参数,用于定义它在边界处的行为方式。mode='constant'
对超出边界的点使用常量值,同时mode='wrap'
环绕。这适用于所有轴。
我想对二维数组(例如)进行卷积,以便:
最有效的方法是什么?
我可以mode='wrap'
在我想要保持不变的轴的末端使用并添加一些死区:
import numpy
from scipy import misc, ndimage
lena = misc.lena()
image = numpy.vstack((lena, numpy.zeros(lena.shape[1])))
weights = numpy.array([[1, 1, 1],
[1, 8, 1],
[1, 1, 1]])/16.
convimage = ndimage.convolve(image, weights, mode='wrap')[0:lena.shape[1],]