fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeterfuzzy_perimeter (Operator)

Name

fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeterfuzzy_perimeter — 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)

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

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)

def fuzzy_perimeter(regions: HObject, image: HObject, apar: int, cpar: int) -> Sequence[float]

def fuzzy_perimeter_s(regions: HObject, image: HObject, apar: int, cpar: int) -> float

Description

The operator fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeterFuzzyPerimeterfuzzy_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: 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: The parameters a, b and c obey the following restrictions: is the inflection point of the function, is the bandwidth, and for x = b holds. In fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeterFuzzyPerimeterfuzzy_perimeter, the parameters AparAparAparAparaparapar and CparCparCparCparcparcpar are defined as follows: b is .

Attention

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

Execution Information

Parameters

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regions for which the fuzzy perimeter is to be calculated.

ImageImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte)

Input image containing the fuzzy membership values.

AparAparAparAparaparapar (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (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 HTupleintHTupleHtuple (integer) (int / long) (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) HTupleSequence[float]HTupleHtuple (real) (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)

Result

The operator fuzzy_perimeterfuzzy_perimeterFuzzyPerimeterFuzzyPerimeterFuzzyPerimeterfuzzy_perimeter returns the value TRUE if the parameters are correct. Otherwise an exception is raised.

See also

fuzzy_entropyfuzzy_entropyFuzzyEntropyFuzzyEntropyFuzzyEntropyfuzzy_entropy

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