小编Ton*_*ony的帖子

3D矩阵切片的2D卷积

我正在尝试在MATLAB中对矩阵进行一堆滚动求和.为了避免循环,我习惯repmat将2D矩阵分层为3D结构.但是,现在快速卷积功能conv2不能再用于累加器.然而,N维卷积函数(convn)不是我正在寻找的,因为它实际上卷积了所有3个维度.我想要在每个切片上进行2D卷积并返回3D矩阵的东西.

在2D中平铺矩阵而不是在3D中分层它们将无法工作,因为它会破坏卷积边缘情况.我可以在它们之间用零填充但是它开始变得有点混乱.

换句话说,如果没有for循环,我该如何执行以下操作:

A = ones(5,5,5);
B = zeros(size(A));
for i = 1 : size(A, 3)
    B(:,:,i) = conv2(A(:,:,i), ones(2), 'same');
end
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

matlab matrix convolution

3
推荐指数
1
解决办法
1710
查看次数

标签 统计

convolution ×1

matlab ×1

matrix ×1