|[mmhistogram] [Up] [mmblob]||Measurements|
mmlabel creates the image
y by labeling the connect components of a binary image
f, according to the connectivity defined by the structuring element
Bc. The background pixels (with value 0) are not labeled. The maximum label value in the output image gives the number of its connected components.
This implementation is very fast and is based on the algorithm proposed in [SB98].
f=mmbinary([0 1 0 1 1; 1 0 0 1 0])
Warning: converting image from double to int32 f = 0 1 0 1 1 1 0 0 1 0
g = 0 2 0 3 3 1 0 0 3 0
The maximum label value gives the number of connected blobs in the image.
function y = mmlabeleq(f, Bc) faux=f; fmark=mmsubm(f,f); % zero image r=fmark; label=1; y=mmgray(f,'uint16',0); % zero image (output) while ~mmisequal(faux,mmbinary()) x=find(faux); %get all unlabeled pixel fmark(x(1))=1; %get the first unlabeled pixel r=mminfrec(fmark,faux,Bc); %detects all pixels connected to it faux=mmsubm(faux,r); %remove them from faux r=mmgray(r,'uint16',label); %label them with the value label y=mmunion(y,r); %merge them with the labeled image label=label+1; end
|mmlabelflat||Label the flat zones of gray-scale images.|
|mmfreedom||Control automatic data type conversion.|
|mmsebox||Create a box structuring element.|
|mmsecross||Diamond structuring element and elementary 3x3 cross.|
|mmblob||Blob measurements from a labeled image.|
|mmgrain||Gray-scale statistics for each labeled region.|
|[mmhistogram] [Up] [mmblob]|
|Copyright (c) 1998-2008 by SDC Information Systems|