label_to_regionlabel_to_regionLabelToRegionLabelToRegion (Operator)

Name

label_to_regionlabel_to_regionLabelToRegionLabelToRegion — Extract regions with equal gray values from an image.

Signature

label_to_region(LabelImage : Regions : : )

Herror label_to_region(const Hobject LabelImage, Hobject* Regions)

Herror T_label_to_region(const Hobject LabelImage, Hobject* Regions)

void LabelToRegion(const HObject& LabelImage, HObject* Regions)

HRegion HImage::LabelToRegion() const

static void HOperatorSet.LabelToRegion(HObject labelImage, out HObject regions)

HRegion HImage.LabelToRegion()

Description

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegion segments an image into regions of equal gray value. One output region is generated for each gray value occurring in the image. This is similar to calling thresholdthresholdThresholdThresholdThreshold multiple times, and accumulating the results with concat_objconcat_objConcatObjConcatObjConcatObj. Another related operator is regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing. However, label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegion does not perform a connectionconnectionConnectionConnectionConnection operation on the resulting regions, i.e., they may be disconnected. A typical application of label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegion is the segmentation of label images, hence its name.

The number of output regions is limited by the system parameter 'max_outp_obj_par', which can be read via get_system(::'max_outp_obj_par':<number>) .

Attention

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegion is not implemented for images of type 'real'. The input images must not contain negative gray values.

Execution Information

Parameters

LabelImageLabelImageLabelImageLabelImagelabelImage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / int2 / int4 / int8)

Label image.

RegionsRegionsRegionsRegionsregions (output_object)  region-array objectHRegionHRegionHobject *

Regions having a constant gray value.

Complexity

Let x1 be the minimum x-coordinate, x2 the maximum x-coordinate, y1 be the minimum y-coordinate, and y2 the maximum y-coordinate of a particular gray value. Furthermore, let N be the number of different gray values in the image. Then the runtime complexity is O(N * (x2 - x1 + 1) * (y2 - y1 + 1))

Result

label_to_regionlabel_to_regionLabelToRegionLabelToRegionLabelToRegion returns 2 (H_MSG_TRUE) if the gray values lie within a correct range. The behavior with respect to the input images and output regions can be determined by setting the values of the flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result", and 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region" with set_systemset_systemSetSystemSetSystemSetSystem. If necessary, an exception is raised.

Possible Predecessors

min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGauss

Possible Successors

connectionconnectionConnectionConnectionConnection, dilation1dilation1Dilation1Dilation1Dilation1, erosion1erosion1Erosion1Erosion1Erosion1, openingopeningOpeningOpeningOpening, closingclosingClosingClosingClosing, rank_regionrank_regionRankRegionRankRegionRankRegion, shape_transshape_transShapeTransShapeTransShapeTrans, skeletonskeletonSkeletonSkeletonSkeleton

See also

thresholdthresholdThresholdThresholdThreshold, concat_objconcat_objConcatObjConcatObjConcatObj, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, region_to_labelregion_to_labelRegionToLabelRegionToLabelRegionToLabel

Module

Foundation