ClassesClassesClassesClasses | | | | Operators

area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray (Operator)


area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray — Compute the area and center of gravity of a region in a gray value image.


area_center_gray(Regions, Image : : : Area, Row, Column)

Herror area_center_gray(const Hobject Regions, const Hobject Image, double* Area, double* Row, double* Column)

Herror T_area_center_gray(const Hobject Regions, const Hobject Image, Htuple* Area, Htuple* Row, Htuple* Column)

Herror area_center_gray(Hobject Regions, Hobject Image, double* Area, double* Row, double* Column)

Herror area_center_gray(Hobject Regions, Hobject Image, HTuple* Area, HTuple* Row, HTuple* Column)

double HRegion::AreaCenterGray(const HImage& Image, double* Row, double* Column) const

HTuple HRegionArray::AreaCenterGray(const HImage& Image, HTuple* Row, HTuple* Column) const

void AreaCenterGray(const HObject& Regions, const HObject& Image, HTuple* Area, HTuple* Row, HTuple* Column)

HTuple HImage::AreaCenterGray(const HRegion& Regions, HTuple* Row, HTuple* Column) const

double HImage::AreaCenterGray(const HRegion& Regions, double* Row, double* Column) const

HTuple HRegion::AreaCenterGray(const HImage& Image, HTuple* Row, HTuple* Column) const

double HRegion::AreaCenterGray(const HImage& Image, double* Row, double* Column) const

void HOperatorSetX.AreaCenterGray(
[in] IHUntypedObjectX* Regions, [in] IHUntypedObjectX* Image, [out] VARIANT* Area, [out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HImageX.AreaCenterGray(
[in] IHRegionX* Regions, [out] VARIANT* Row, [out] VARIANT* Column)

VARIANT HRegionX.AreaCenterGray(
[in] IHImageX* Image, [out] VARIANT* Row, [out] VARIANT* Column)

static void HOperatorSet.AreaCenterGray(HObject regions, HObject image, out HTuple area, out HTuple row, out HTuple column)

HTuple HImage.AreaCenterGray(HRegion regions, out HTuple row, out HTuple column)

double HImage.AreaCenterGray(HRegion regions, out double row, out double column)

HTuple HRegion.AreaCenterGray(HImage image, out HTuple row, out HTuple column)

double HRegion.AreaCenterGray(HImage image, out double row, out double column)


area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray computes the area and center of gravity of the regions RegionsRegionsRegionsRegionsRegionsregions that have gray values which are defined by the image ImageImageImageImageImageimage. This operator is similar to area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, but in contrast to that operator, the gray values of the image are taken into account while computing the area and center of gravity.

The area A of a region R in the image with the gray values g(r,c) is defined as

         A =     /   g(r,c) .
             (r,c) in R

This means that the area is defined by the volume of the gray value function g(r,c). The center of gravity is defined by the first two normalized moments of the gray values g(r,c), i.e., by (m10,m01), where

            1    \    p  q
    m    =  -    /   r  c  g(r,c) .
     p,q    A    ---
             (r,c) in R


Note that the operator area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray only considers the given RegionsRegionsRegionsRegionsRegionsregions and ignores any previously set domain of the input image ImageImageImageImageImageimage. area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray can be executed on OpenCL devices if the device supports the cl_khr_fp64 and cl_khr_int64_base_atomics OpenCL extensions.



RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Region(s) to be examined.

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / real*) *allowed for compute devices

Gray value image.

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

Gray value volume of the region.

RowRowRowRowRowrow (output_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinate of the gray value center of gravity.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinate of the gray value center of gravity.


area_center_grayarea_center_grayAreaCenterGrayarea_center_grayAreaCenterGrayAreaCenterGray returns 2 (H_MSG_TRUE) if all parameters are correct and no error occurs during execution. If the input is empty the behavior can be set via set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection



See also

area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld, elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayelliptic_axis_grayEllipticAxisGrayEllipticAxisGray



ClassesClassesClassesClasses | | | | Operators