midrange_imagemidrange_imageMidrangeImageMidrangeImage (Operator)
Name
midrange_imagemidrange_imageMidrangeImageMidrangeImage
— Calculate the average of maximum and minimum inside any mask.
Signature
Description
The operator midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImage
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.
For an explanation of the concept of smoothing filters see the introduction
of chapter Filters / Smoothing.
Attention
Note that filter operators may return unexpected results if
an image with a reduced domain is used as input. Please refer to the
chapter Filters.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on channel level.
- Automatically parallelized on domain level.
Parameters
ImageImageImageImageimage
(input_object) (multichannel-)image(-array) →
objectHImageHImageHobject (byte / int2 / uint2 / int4 / real)
Image to be filtered.
MaskMaskMaskMaskmask
(input_object) region →
objectHRegionHRegionHobject
Filter mask.
ImageMidrangeImageMidrangeImageMidrangeImageMidrangeimageMidrange
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (byte / int2 / uint2 / int4 / real)
Filtered image.
MarginMarginMarginMarginmargin
(input_control) string →
HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / 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')
dev_display(Midrange)
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')
dev_display(Midrange)
Example (HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
Example (HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
Complexity
For each pixel: O(sqrt(F) * 5) with F = area of MaskMaskMaskMaskmask
.
Result
If the parameter values are correct the operator
midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImage
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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
.
If necessary an exception is raised.
Possible Predecessors
read_imageread_imageReadImageReadImageReadImage
,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegion
,
gen_circlegen_circleGenCircleGenCircleGenCircle
,
gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1
Possible Successors
thresholdthresholdThresholdThresholdThreshold
,
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold
,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing
Alternatives
sigma_imagesigma_imageSigmaImageSigmaImageSigmaImage
See also
gen_circlegen_circleGenCircleGenCircleGenCircle
,
gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1
,
gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRect
,
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRect
,
gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRect
References
R. Haralick, L. Shapiro; “Computer and Robot Vision”;
Addison-Wesley, 1992, Seite 319
Module
Foundation