0

画像中の球面物体の検出に使用される、フィルタリングアルゴリズムである3Dブロブ検出器を使用したいと思います。このフィルターでは、26近傍のすべてのピクセルよりも大きい値を持つボクセルが1に設定されます。

(s(x,y,z)=max(n26(x,y,z))) 

他のすべてのピクセルはに設定され0ます。この作業を行うためのMATLABの関数はありますか?

M(x,y,z)={ 1 if s(x,y,z)=max(n26(x,y,z))   
           0 otherwise
4

2 に答える 2

4

極大値を見つける最も簡単な方法は、以下を使用することimdilateです。

%# s = 3D array
msk = true(3,3,3);
msk(2,2,2) = false;
%# assign, to every voxel, the maximum of its neighbors
s_dil = imdilate(s,msk);
M = s > s_dil; %# M is 1 wherever a voxel's value is greater than its neighbors
于 2013-03-01T00:49:49.983 に答える