2016-08-03 4 views
0

2つの大きなグレースケール画像があります。 PIL.Imageまたはnumpyデータ構造。1つの軸に沿った2つの画像の効率的な畳み込み

1軸に沿って2つの画像の1次元コンボリューションを行うにはどうすればよいですか?

私が思い付く最高は動作しますが、非常に高速ではない

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

です。より速い方法がありますか?

私は2次元畳み込みに興味がないので、すべての2D畳み込み関数はおそらく関連しないことに注意してください。私は前にこの質問を見ましたが、私のコードよりも良い答えは見られませんでした。だから私は再びそれに打ち勝っている。

+1

[1つの軸に沿った畳み込みの可能な重複](http://stackoverflow.com/questions/5228718/convolution-along-one-axis-only) – Praveen

答えて

2

1軸に沿ったFFT、1つの軸に沿ったFFTと逆FFT this explanation に従うとすばやくすべきです。Scipy.signal.fftconvolveがその仕事をするべきです。

関連する問題