ClassesClassesClassesClasses | | | | Operators

fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeter (Operator)

Name

fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeter — Calculate the fuzzy perimeter of a region.

Signature

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

Herror fuzzy_perimeter(const Hobject Regions, const Hobject Image, const Hlong Apar, const Hlong Cpar, double* Perimeter)

Herror T_fuzzy_perimeter(const Hobject Regions, const Hobject Image, const Htuple Apar, const Htuple Cpar, Htuple* Perimeter)

Herror fuzzy_perimeter(Hobject Regions, Hobject Image, const HTuple& Apar, const HTuple& Cpar, double* Perimeter)

Herror fuzzy_perimeter(Hobject Regions, Hobject Image, const HTuple& Apar, const HTuple& Cpar, HTuple* Perimeter)

double HRegion::FuzzyPerimeter(const HImage& Image, const HTuple& Apar, const HTuple& Cpar) const

HTuple HRegionArray::FuzzyPerimeter(const HImage& Image, const HTuple& Apar, const HTuple& Cpar) const

void FuzzyPerimeter(const HObject& Regions, const HObject& Image, const HTuple& Apar, const HTuple& Cpar, HTuple* Perimeter)

HTuple HImage::FuzzyPerimeter(const HRegion& Regions, Hlong Apar, Hlong Cpar) const

HTuple HRegion::FuzzyPerimeter(const HImage& Image, Hlong Apar, Hlong Cpar) const

void HOperatorSetX.FuzzyPerimeter(
[in] IHUntypedObjectX* Regions, [in] IHUntypedObjectX* Image, [in] VARIANT Apar, [in] VARIANT Cpar, [out] VARIANT* Perimeter)

VARIANT HImageX.FuzzyPerimeter(
[in] IHRegionX* Regions, [in] Hlong Apar, [in] Hlong Cpar)

VARIANT HRegionX.FuzzyPerimeter(
[in] IHImageX* Image, [in] Hlong Apar, [in] Hlong Cpar)

static void HOperatorSet.FuzzyPerimeter(HObject regions, HObject image, HTuple apar, HTuple cpar, out HTuple perimeter)

HTuple HImage.FuzzyPerimeter(HRegion regions, int apar, int cpar)

HTuple HRegion.FuzzyPerimeter(HImage image, int apar, int cpar)

Description

The operator fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeter 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_perimeterfuzzy_perimeterFuzzyPerimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeter, the parameters AparAparAparAparAparapar and CparCparCparCparCparcpar are defined as follows: b is (Apar + Cpar)/2.

Attention

Note that for fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeter, the RegionsRegionsRegionsRegionsRegionsregions must lie completely within the previously defined domain. Otherwise an exception is raised.

Parallelization

Parameters

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regions for which the fuzzy perimeter is to be calculated.

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte)

Input image containing the fuzzy membership values.

AparAparAparAparAparapar (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Start of the fuzzy function.

Default value: 0

Suggested values: 0, 5, 10, 20, 50, 100

Typical range of values: 0 ≤ Apar Apar Apar Apar Apar apar ≤ 255 (lin)

Minimum increment: 1

Recommended increment: 5

CparCparCparCparCparcpar (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

End of the fuzzy function.

Default value: 255

Suggested values: 50, 100, 150, 200, 220, 255

Typical range of values: 0 ≤ Cpar Cpar Cpar Cpar Cpar cpar ≤ 255 (lin)

Minimum increment: 1

Recommended increment: 5

Restriction: Apar <= Cpar

PerimeterPerimeterPerimeterPerimeterPerimeterperimeter (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Fuzzy perimeter of a region.

Example (HDevelop)

* To find a Fuzzy Entropy from an Image
read_image(Image,'monkey')
fuzzy_perimeter(Trans,Trans,0,255,Per)

Example (C)

/* To find a Fuzzy Entropy from an Image */
read_image(&Image,"monkey");
fuzzy_perimeter(Trans,Trans,Apar,Bpar,&Per);

Example (HDevelop)

* To find a Fuzzy Entropy from an Image
read_image(Image,'monkey')
fuzzy_perimeter(Trans,Trans,0,255,Per)

Example (HDevelop)

* To find a Fuzzy Entropy from an Image
read_image(Image,'monkey')
fuzzy_perimeter(Trans,Trans,0,255,Per)

Example (HDevelop)

* To find a Fuzzy Entropy from an Image
read_image(Image,'monkey')
fuzzy_perimeter(Trans,Trans,0,255,Per)

Example (HDevelop)

* To find a Fuzzy Entropy from an Image
read_image(Image,'monkey')
fuzzy_perimeter(Trans,Trans,0,255,Per)

Result

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

See also

fuzzy_entropyfuzzy_entropyFuzzyEntropyfuzzy_entropyFuzzyEntropyFuzzyEntropy

References

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

Module

Foundation


ClassesClassesClassesClasses | | | | Operators