【发布时间】:2015-04-11 08:33:46
【问题描述】:
我有一些数据,一个二维矩阵,我们称之为 A,我知道理论上可以用另一个矩阵的自卷积来描述,我们称之为 B:
A=conv2(B,B)
我正在尝试提取 B。有没有办法在 MATLAB 中执行二维矩阵的自反卷积?谁能指出我正确的方向?
【问题讨论】:
-
您尝试过
deconvblind、deconvlucy、deconvreg或deconvwnr功能吗?只是在黑暗中开枪。我相信这是一个非常不确定的系统,图像的反卷积,所以可能不可能,或者只能使用正则化技术和先验信息。如果您在这里没有得到答案,我建议您在数学 stackoverflow 中尝试 -
通过二维矩阵,您是否意味着您想要识别类似 {{1,0,0},{2,2,0},{1,2,1}} 的东西作为 {{1,0},{1,1}} 的卷积平方?
-
理论上你可以通过执行傅里叶变换找到一个解,取频率图像的平方根(使用
sqrtm()),然后执行傅里叶逆变换.但是,您需要考虑 FFT 将 circular 转换为乘法的事实,并且我未能在 MATLAB 中找到直接执行 DTFT 的函数(这是非常合乎逻辑的,因为 FFT 是 DTFT 的样本) - 所以应该以某种方式使用填充。我尝试了几次,由于最后一个问题,肯定无法让它工作,但我认为这是正确的方向。 -
@AnderBiguri 感谢您的建议。我研究了这些函数,但它们似乎正在处理反卷积以消除图像中的模糊,我认为它们实际上并没有返回与图像卷积的矩阵
-
@Yellows 啊抱歉,你是对的。我已经有一段时间没有看了。感谢您的建议,这似乎是正确的方向。
标签: matlab math signals signal-processing convolution