midrange ( Image, Mask : ImageMidrange : Margin : )

Calculate the average of maximum and minimum inside any mask.

The operator midrange forms the average of maximum and minimum inside the indicated mask in the whole image. Several margin controls (Margin) can be chosen for filtering:

    0...255   pixels outside of the image edges
              are assumed constant (with the indicated
              gray value).
    -1        Continuation of edge pixels.
    -2        Cyclic continuation of image edges.
    -3        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.


Parameters

Image (input_object)
image(-array) -> object : byte
Image to be filtered

Mask (input_object)
region -> object : byte
Region serving as filter mask.

ImageMidrange (output_object)
image(-array) -> object
Filtered output image

Margin (input_control)
integer -> integer
Margin control: 0...255 (constant), -1 (edge pixels continued), -2 (cyclic continuation), -3 (reflection).
Default value: -3
Range of values: -3 <= Margin <= 255


Example
read_image(:Image:'fabrik':) >
draw_region(:Region::) >
midrange(Image,Region:Midrange:-3:) > 
disp_image(Midrange:::).

Complexity

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


Result

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


Possible Predecessors

read_image, draw_region, circle, rectangle1


Possible Successors

threshold__, dyn_threshold__, regiongrowing__


Alternatives

sigma__


See also

circle, rectangle1, min1__, max1__, range__


References

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



Copyright © 1996-1997 MVTec Software GmbH