fuzzy_perimeter ( Regions, Image : : Apar, Cpar : Perimeter )

Calculate the fuzzy perimeter of a region.

The operator fuzzy_perimeter is used to determine the differences of fuzzy membership between an image point and its neighbor points. The right and lower neighbor are taken into account. The fuzzy perimeter is then defined as follows:

       M-1   N-1
       ----  ----
       \     \
p(x) = /     /    |u(x(m,n)) - u(x(m,n+1))|  +
       ----  ----
       m=1   n=1

       M-1   N-1
       ----  ----
       \     \
       /     /    |u(x(m,n)) - u(x(m+1,n))|
       ----  ----
       m=1   n=1
where MxN is the size of the image, and u(x(m,n)) is the fuzzy membership function (i.e., the input image). This implementation uses Zadeh's Standard-S function, which is defined as follows:
         / 0,                   x <= a
  u(x) = | 2((x-a)/(c-a))**2,   a < x <= b
         | 1-2((x-a)/(c-a))**2, b < x < c
         \ 1,                   c <= x.
The parameters a, b and c obey the following restrictions: b = (a+c)/2 is the inflection point of the function, Db = b - a = c - b is the bandwith, and for x = b u(x) = 0.5 holds. In fuzzy_perimeter, the parameters Apar and Cpar are defined as follows: b is (Apar + Cpar)/2.


Parameters

Regions (input_object)
region(-array) -> object
Regions for which the fuzzy perimeter is to be calculated.

Image (input_object)
image -> object : byte
Input image containing the fuzzy membership values.

Apar (input_control)
integer -> integer
Start of the fuzzy function.
Default value: 0
Suggested values: 0, 5, 10, 20, 50, 100
Typical range of values: 0 <= Apar <= 255 (lin)
Minimum increment: 1
Recommended increment: 5

Cpar (input_control)
integer -> integer
End of the fuzzy function.
Default value: 255
Suggested values: 50, 100, 150, 200, 220, 255
Typical range of values: 0 <= Cpar <= 255 (lin)
Minimum increment: 1
Recommended increment: 5
Restriction: Apar <= Cpar

Perimeter (output_control)
real(-array) -> real
Fuzzy perimeter of a region.


Example
/* To find a Fuzzy Entropy from an Image */
read_image(Image,'affe') 
fuzzy_perimeter(Trans,Trans,0,255,Per).

Result

The operator fuzzy_perimeter returns the value 2 (H_MSG_TRUE) if the parameters are correct. Otherwise an exception is raised.


Parallelization Information

fuzzy_perimeter is reentrant and automatically parallelized (on tuple level).


See also

fuzzy_entropy


References

M.K. Kundu, S.K. Pal: `Äutomatic selection of object enhancement operator with quantitative justification based on fuzzy set theoretic measures''; Pattern Recognition Letters 11; 1990; pp. 811-829.


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH