3

画像を表す 2D 配列aと、ポイントスプレッド関数を表すカーネルがありますkscipy.signal.deconvolve内部的に呼び出された関数から、「目的の配列に対して深すぎるオブジェクト」を返しますlfilter。1D アレイは問題なく動作しています。これはどのように修正できますか?

import numpy as N
import scipy.signal as SS
# working
# taken from:
# http://stackoverflow.com/questions/17063775/convolution-and-deconvolution-in-python-using-scipy-signal
a = N.array([  0.5,   2.5,   6. ,   9.5,  11. ,  10. ,   9.5,  11.5,  10.5,
5.5,   2.5,   1. ])
k= N.array([0.5, 1.0, 0.5])
res1,res2 = SS.deconvolve(a, k)
# not working
a = N.ones((10,10))
k = N.array([[1,2],[2,1]])
res1, res2 = SS.deconvolve(a,k)
4

1 に答える 1

4

scipy.signal.deconvolve()それは、 1D デコンボリューションのみがサポートされているためです。残念ながら、ドキュメントはこの事実について明確ではありません。

周波数領域の 2D デコンボリューションについては、この回答をご覧ください。

于 2013-10-09T10:20:48.033 に答える