在 Python 中生成 2D 卷积矩阵(如 MATLAB 的 `convmtx2`)

问题描述 投票:0回答:1

Matlab 有这个非常方便的 convmtx2 函数,它允许将 2D 卷积编写为矩阵乘法(在根据卷积核计算的卷积矩阵和图像之间,展平为 1d 向量)。有没有类似于 Python 实现的东西可用?

python numpy image-processing scipy linear-algebra
1个回答
0
投票

如果您将模糊用作迭代方法的一部分,则将模糊定义为线性运算符是正确的方法。

在 SciPy 中,您可以使用

scipy.sparse.linalg.LinearOperator
来完成。

当您想要直接解决方案时,无论是为了验证解决方案还是更快地解决小型系统,您可以使用我在生成 2D 卷积核的矩阵形式中发布的代码。
虽然是MATLAB,但是很容易转换成NumPy / SciPy。

© www.soinside.com 2019 - 2024. All rights reserved.