DIPlib Documentation - ©1995-2017 Quantitative Imaging Group, Delft University of Technology.


Label a binary image


#include "dip_regions.h"

dip_Error dip_Label ( in, out, connectivity, flags, minsize, maxsize, nol, boundary )




The output is an integer image. Each object (respecting the connectivity, see The connectivity parameter) in the input image receives a unique number. This number ranges from 1 to the number of objects in the image. The pixels in the output image corresponding to a given object are set to this number (label). The remaining pixels in the output image are set to 0. The minsize and maxsize set limits on the size of the objects, if the flag DIP_LB_THRESHOLD_ON_SIZE is set: Objects smaller than minsize or larger than maxsize do not receive a label and the corresponding pixels in the output image are set to zero. Setting minsize to zero implies that there is no check with respect to the minimum size of the object, and the same holds for maxsize and the maximum size of the object. If the flag DIP_LB_LABEL_IS_SIZE is set, the objects' labels are set to the objects' sizes. The boundary conditions are generally ignored (labeling stops at the boundary). The exception is DIP_BC_PERIODIC, which is the only one that makes sense for this algorithm.


Data typeNameDescription
dip_ImageinInput binary image
dip_ImageoutOutput label image
dip_intflags0, or a logical OR of the flags described above
dip_intminsizeMinimum size of the objects (0=do not check)
dip_intmaxsizeMaximum size of the objects (0=do not check)
dip_int *nolPointer to dip_int. Used for returning the number of objects. May be set to 0.
dip_BoundaryArrayboundaryBoundary conditions