我有两张大灰度图像。 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上看过这个问题,但我没有看到比我的代码更好的答案。所以我再次碰到它。
答案 0 :(得分:2)
沿一个轴进行FFT,沿一个轴相乘并反向FFT。 根据{{3}},应该更快 Scipy.signal.fftconvolve应该可以胜任。