沿一个轴有效卷积两个图像

时间:2016-08-03 10:46:36

标签: python numpy

我有两张大灰度图像。 PIL.Image或numpy数据结构。

如何沿一个轴对两个图像进行1d卷积?

我想出的最好的是

def conv2(im1, im2, *args):
    res = 0
    for l1, l2 in zip(im1, im2):
        res += np.convolve(l1, l2, *args)
    return res

哪个有效,但速度不是很快。有更快的方法吗?

请注意,所有2D卷积函数可能都不相关,因为我对2D卷积不感兴趣。我以前在SO上看过这个问题,但我没有看到比我的代码更好的答案。所以我再次碰到它。

1 个答案:

答案 0 :(得分:2)

沿一个轴进行FFT,沿一个轴相乘并反向FFT。 根据{{​​3}},应该更快 Scipy.signal.fftconvolve应该可以胜任。