scipy.ndimage.filters.convolve - 沿不同轴的不同模式?

时间:2013-09-21 16:38:41

标签: python image-processing numpy filter scipy

scipy.ndimage.filters中的一些功能,包括scipy.ndimage.filters.convolve,具有"模式"定义它在边界处的行为的参数。 mode='constant'对超出边界的点使用常量值,而mode='wrap'包围。这适用于所有轴。

我想对二维数组进行卷积(例如),以便:

  • 轴线0以外的点包围
  • 轴1以外的点是恒定的

最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

我可以使用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],]