我需要平滑 3D 矩阵M
。平滑的输出是S
。matlab代码可以是这样的:
S = smooth3(M, 'box', 3);
M
问题是在平滑期间只应考虑矩阵中的某些部分。我有一个面具A
来识别这些部件的位置。A
具有与 相同的大小M
,并且 的值1
表示考虑该点和0
表示忽略该点。怎么做?
例如,如果我有M
以下A
内容:
M=zeros(7,7,7); M(2:6,2:6,2:6)=ones(5,5,5); M(4,4,4)=28;
A=zeros(7,7,7); A(2:6,2:6,2:6)=ones(5,5,5);
平滑后,我想要这样的结果:
S=zeros(7,7,7); S(2:6,2:6,2:6)=smooth3(M(2:6,2:6,2:6), 'box', 3);
任何人都知道如何在matlab中使用掩码进行这种平滑?先感谢您。