area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayarea_center_gray面积中心灰度(算子)

名称

area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayarea_center_gray — 计算灰度图像中某个区域的面积和重心。

签名

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)

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

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)

def area_center_gray(regions: HObject, image: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def area_center_gray_s(regions: HObject, image: HObject) -> Tuple[float, float, float]

描述

area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray 计算由图像 ImageImageImageImageimageimage 定义灰度值的区域 RegionsRegionsRegionsRegionsregionsregions 的面积和重心。该算子与 area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center 类似,但不同之处在于计算面积和重心时会考虑图像的灰度值。

图像中区域 R 的面积 A,其灰度值为 g(r,c),定义为: 这意味着该区域由灰度值函数g(r,c)的体积所定义。其重心由灰度值g(r,c)的前两个归一化矩定义,即由 确定,其中

请注意,当 AreaAreaAreaAreaareaarea 为零时,质心所在行和列的坐标也将被设置为零。

注意

注意,area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray 算子仅考虑给定的 RegionsRegionsRegionsRegionsregionsregions,并忽略输入图像 ImageImageImageImageimageimage 中先前设置的任何域。若设备支持 cl_khr_fp64 和 cl_khr_int64_base_atomics OpenCL 扩展,则可在 OpenCL 设备上执行 area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray

执行信息

参数

RegionsRegionsRegionsRegionsregionsregions (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

待检查的区域。

ImageImageImageImageimageimage (输入对象)  singlechannelimage objectHImageHObjectHImageHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / real*) *允许用于计算设备

灰度值图像。

AreaAreaAreaAreaareaarea (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

该区域的灰度值体积。

RowRowRowRowrowrow (输出控制)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

灰度值质心的行坐标。

ColumnColumnColumnColumncolumncolumn (输出控制)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

灰度值质心的列坐标。

结果

area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray 在所有参数正确且执行过程中未发生错误时返回 2 ( H_MSG_TRUE )。如果输入为空时,可设置行为通过算子 set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection

替代

area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

另见

area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld, elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray

模块

基础