Herror ::region_to_label (
    Hobject Region,
    Hobject *ImageLabel,
    const HTuple &Type,
    const HTuple &Width,
    const HTuple &Height
)
HImage HRegion::RegionToLabel (
    const HTuple &Type,
    const HTuple &Width,
    const HTuple &Height
) const
HImage HRegionArray::RegionToLabel (
    const HTuple &Type,
    const HTuple &Width,
    const HTuple &Height
) const

Convert regions to a label image.

::region_to_label converts the input regions into a label image according to their index (1..n), i.e., the first region is painted with the gray value 1, the second the gray value 2, etc. Only positive gray values are used. For byte-images the index is entered modulo 256.

Regions larger than the generated image are clipped appropriately. If regions overlap the regions with the higher image are entered (i.e., they are painted in the order in which they are contained in the input regions). If so desired, the regions can be made non-overlapping by calling ::expand_region.

The background, i.e., the area not covered by any regions, is set to 0. This can be used to test in which image range no region is present.


Parameters

Region (input_object)
region(-array) -> Hobject: HRegion(Array)
Regions to be converted.

ImageLabel (output_object)
image -> Hobject * : HImage ( byte / int2 / int4 )
Result image of dimension Width * Height containing the converted regions.

Type (input_control)
string -> HTuple.char *
Pixel type of the result image.
Default value: 'int2'
List of values: 'byte', 'int2', 'int4'

Width (input_control)
extent.y -> HTuple.long
Width of the image to be generated.
Default value: 512
Suggested values: 64, 128, 256, 512, 1024
Typical range of values: 1 <= Width <= 1024 (lin)
Minimum increment: 1
Recommended increment: 16
Restriction: Width >= 1

Height (input_control)
extent.x -> HTuple.long
Height of the image to be generated.
Default value: 512
Suggested values: 64, 128, 256, 512, 1024
Typical range of values: 1 <= Height <= 1024 (lin)
Minimum increment: 1
Recommended increment: 16
Restriction: Height >= 1


Complexity

O(2*Height*Width).


Result

::region_to_label always returns H_MSG_TRUE. The behavior in case of empty input (no regions given) can be set via ::set_system('no_object_result',<Result>) and the behavior in case of an empty input region via ::set_system('empty_region_result',<Result>). If necessary, an exception handling is raised.


Possible Predecessors

::threshold, ::regiongrowing, ::connection, ::expand_region


Possible Successors

::get_grayval, ::get_image_pointer1


Alternatives

::region_to_bin, ::paint_region


See also

::label_to_region


Module

Image / region / XLD management



Copyright © 1996-2002 MVTec Software GmbH