【问题标题】:deconvolve 2D array反卷积二维数组
【发布时间】:2013-10-16 11:38:12
【问题描述】:

有一个表示图像a 的二维数组和一个表示点扩展函数k 的内核。 scipy.signal.deconvolve 从内部调用的 lfilter 函数返回“对象对于所需数组来说太深”。一维阵列工作完美。如何解决这个问题?

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)

【问题讨论】:

    标签: python scipy signal-processing


    【解决方案1】:

    嗯,那是因为scipy.signal.deconvolve() 只支持一维反卷积!不幸的是,文档并不清楚这一事实。

    查看this answer 了解频域二维反卷积。

    【讨论】:

    • 谢谢,我确实没有意识到这一点。我将使用其他线程的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2017-02-24
    • 2011-09-07
    • 1970-01-01
    相关资源
    最近更新 更多