3D マトリックスを平滑化する必要がありM
ます。平滑化の出力は ですS
。matlab コードは次のようになります。
S = smooth3(M, 'box', 3);
問題は、平滑化中にマトリックスの一部のみM
を考慮する必要があることです。A
これらの部品の位置を特定するためのマスクがあります。A
は と同じ大きさM
で、 の値は1
この点を考慮することを意味し、この点0
を無視することを意味します。どうやってするか?
たとえば、次のようにM
andがあると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でマスクを使用してこの種のスムージングを行う方法を知っている人はいますか? 前もって感謝します。