HALCON Reference Manual 10.0.2
Table of Contents / Filters / Smoothing ClassesClassesClasses | | | Operators

midrange_imagemidrange_imagemidrange_imageMidrangeImageMidrangeImage (Operator)

Name

midrange_imagemidrange_imagemidrange_imageMidrangeImageMidrangeImage — Calculate the average of maximum and minimum inside any mask.

Signature

midrange_image(Image, Mask : ImageMidrange : Margin : )

Herror midrange_image(const Hobject Image, const Hobject Mask, Hobject* ImageMidrange, const char* Margin)

Herror T_midrange_image(const Hobject Image, const Hobject Mask, Hobject* ImageMidrange, const Htuple Margin)

Herror midrange_image(Hobject Image, Hobject Mask, Hobject* ImageMidrange, const HTuple& Margin)

HImage HImage::MidrangeImage(const HRegion& Mask, const HTuple& Margin) const

HImageArray HImageArray::MidrangeImage(const HRegion& Mask, const HTuple& Margin) const

void HOperatorSetX.MidrangeImage(
[in] IHUntypedObjectX* Image, [in] IHUntypedObjectX* Mask, [out] IHUntypedObjectX*ImageMidrange, [in] VARIANT Margin)

IHImageX* HImageX.MidrangeImage(
[in] IHRegionX* Mask, [in] VARIANT Margin)

static void HOperatorSet.MidrangeImage(HObject image, HObject mask, out HObject imageMidrange, HTuple margin)

HImage HImage.MidrangeImage(HRegion mask, HTuple margin)

HImage HImage.MidrangeImage(HRegion mask, string margin)

Description

The operator midrange_imagemidrange_imagemidrange_imageMidrangeImageMidrangeImage forms the average of maximum and minimum inside the indicated mask in the whole image. Several border treatments (MarginMarginMarginMarginmargin) can be chosen for filtering:

    gray value   Pixels outside of the image edges
                 are assumed to be constant (with the
                 indicated gray value).
    'continued'  Continuation of edge pixels.
    'cyclic'     Cyclic continuation of image edges.
    'mirrored'   Reflection of pixels at the image edges.

The indicated mask (= region of the mask image) is put over the image to be filtered in such a way that the center of the mask touches all pixels once.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageXHobject (byte / int2 / uint2 / int4 / real)

Image to be filtered.

MaskMaskMaskMaskmask (input_object)  region objectHRegionHRegionHRegionXHobject

Filter mask.

ImageMidrangeImageMidrangeImageMidrangeImageMidrangeimageMidrange (output_object)  (multichannel-)image(-array) objectHImageHImageHImageXHobject * (byte / int2 / uint2 / int4 / real)

Filtered image.

MarginMarginMarginMarginmargin (input_control)  string HTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Border treatment.

Default value: 'mirrored' "mirrored" "mirrored" "mirrored" "mirrored"

Suggested values: 'mirrored'"mirrored""mirrored""mirrored""mirrored", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'continued'"continued""continued""continued""continued", 0, 30, 60, 90, 120, 150, 180, 210, 240, 255

Example (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
disp_image(Midrange,WindowHandle)

Example (C)

read_image(&Image,"fabrik");
draw_region(&Region,WindowHandle);
midrange_image(Image,Region,&Midrange,"mirrored");
disp_image(Midrange,WindowHandle);

Example (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
disp_image(Midrange,WindowHandle)

Example (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
disp_image(Midrange,WindowHandle)

Example (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
disp_image(Midrange,WindowHandle)

Complexity

For each pixel: O(sqrt(F) * 5) with F = area of MaskMaskMaskMaskmask.

Result

If the parameter values are correct the operator midrange_imagemidrange_imagemidrange_imageMidrangeImageMidrangeImage returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no input images available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary an exception is raised.

Possible Predecessors

read_imageread_imageread_imageReadImageReadImage, draw_regiondraw_regiondraw_regionDrawRegionDrawRegion, gen_circlegen_circlegen_circleGenCircleGenCircle, gen_rectangle1gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1

Possible Successors

thresholdthresholdthresholdThresholdThreshold, dyn_thresholddyn_thresholddyn_thresholdDynThresholdDynThreshold, regiongrowingregiongrowingregiongrowingRegiongrowingRegiongrowing

Alternatives

sigma_imagesigma_imagesigma_imageSigmaImageSigmaImage

See also

gen_circlegen_circlegen_circleGenCircleGenCircle, gen_rectangle1gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1, gray_erosion_rectgray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRect, gray_dilation_rectgray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRect, gray_range_rectgray_range_rectgray_range_rectGrayRangeRectGrayRangeRect

References

R. Haralick, L. Shapiro; “Computer and Robot Vision”; Addison-Wesley, 1992, Seite 319

Module

Foundation


Table of Contents / Filters / Smoothing ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH