矩阵和子矩阵之间的反卷积

no_*_*ame 3 matlab image-processing matrix convolution

我有一个矩阵a=[[1 2 3]; [4 5 6]; [7 8 9]]和一个子矩阵b=[[5 6];[8 9]].

在matlab中有解卷积的方法(a,b)吗?

我正在寻找一种方法来识别可能的巨型矩阵中子矩阵的存在.通过一种反卷积,我希望1在子矩阵存在的地方获得类似于零的矩阵.

在上面的例子中,a 1在右下角.

And*_*ein 6

有一个更好的解释这里.


为简单起见,我们来谈谈一维反卷积.

您的信号可以表示为矢量,卷积与三对角矩阵相乘.

例如:

你的矢量/信号是:

    V1
    V2
    ...
    Vn
Run Code Online (Sandbox Code Playgroud)

您的过滤器(卷积元素)是:

  [b1 b2 b3];
Run Code Online (Sandbox Code Playgroud)

所以矩阵是nxn:(让它被称为A):

[b2 b3 0  0  0  0.... 0]
[b1 b2 b3 0  0  0.... 0]
[0  b1 b2 b3 0  0.... 0]
.....
[0  0  0  0  0  0...b2 b3]
Run Code Online (Sandbox Code Playgroud)

卷积是:

  A*v;
Run Code Online (Sandbox Code Playgroud)

去卷积是

  A^(-1) * ( A) * v;
Run Code Online (Sandbox Code Playgroud)

显然,在某些情况下,不可能进行去卷积.然后你会有单数A.但如果A^-1存在,则需要对其进行计算,并将其应用于结果.


对于2D情况,它有点复杂,但想法是一样的.