マトリックスに保存されている2Dグレースケール強度画像がある場合A
は、次のようにして下半分を黒に設定できます。
centerIndex = round(size(A,1)/2); %# Get the center index for the rows
A(centerIndex:end,:) = cast(0,class(A)); %# Set the lower half to the value
%# 0 (of the same type as A)
これは、最初にA
関数SIZEを使用して行数を取得し、それを2で除算し、それを四捨五入して画像の高さの中央付近の整数インデックスを取得することで機能します。次に、ベクトルcenterIndex:end
は中央のインデックスから最後まですべての行にインデックスを:
付け、すべての列にインデックスを付けます。これらのインデックス付き要素はすべて0に設定され、黒を表します。
関数CLASSは、のデータ型を取得するために使用されるため、関数CASTA
を使用して0をその型にキャストできます。ただし、0はおそらく自動的にそれらのないタイプに変換されるため、これは必要ない場合があります。A
マスクとして使用する論理インデックスを作成する場合は、次のように実行できます。
mask = true(size(A)); %# Create a matrix of true values the same size as A
centerIndex = round(size(A,1)/2); %# Get the center index for the rows
mask(centerIndex:end,:) = false; %# Set the lower half to false
ここで、は、保持するピクセルの場合は(つまり、「1」)、0に設定するピクセルの場合は(「0」)mask
の論理行列です。必要に応じて、の要素をさらに設定できます。次に、マスクを適用する場合は、次の操作を実行できます。true
false
mask
false
A(~mask) = 0; %# Set all elements in A corresponding
%# to false values in mask to 0