该函数是针对卷积核可分离的特殊情况的N维卷积实现。
如果存在 N 个函数 f1, f2, ... fN 使得 f(x1, x2, ... xN) = f1(x1)f2( x2)f3(x3)...fN(xN)。
在二维中,可分离性条件的离散版本如下:如果二维矩阵可以表示为两个一维向量的外积,则它是可分离的:
a=[-1 0 1]; b=[1 0 -1]; H=a'*b
在这种情况下,为 Matlab 的 conv2 函数提供两个向量 a 和 b(一个用于对行进行卷积,第二个用于对列进行卷积)比为 conv2 提供外积 H 的计算速度更快。
Convnsep.m 将此功能扩展到任意数量的维度。
这可能对以下应用有用: 1. 使用可分离过滤器平滑 3D 图像2.双边滤波(需要4D卷积来过滤3D图像)
注意事项和注意事项:
- 随着被卷积的变量的总大小增加到 Matlab 允许的
2021-09-15 10:16:10
3KB
matlab
1