Python 反褶积二维阵列
有一个表示图像Python 反褶积二维阵列,python,scipy,signal-processing,Python,Scipy,Signal Processing,有一个表示图像a的2D数组和一个表示点扩展函数k的内核scipy.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-pytho
a
的2D数组和一个表示点扩展函数k
的内核scipy.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)
那是因为
scipy.signal.deconvolve()
只支持一维反褶积!不幸的是,文件对这一事实并不清楚
请看一看频域2D反褶积。谢谢,我确实没有意识到这一点。我将使用另一个线程中的代码。