complementcomplementComplementComplementcomplement补集(算子)

名称

complementcomplementComplementComplementcomplement — 返回一个区域的补集。

签名

complement(Region : RegionComplement : : )

Herror complement(const Hobject Region, Hobject* RegionComplement)

Herror T_complement(const Hobject Region, Hobject* RegionComplement)

void Complement(const HObject& Region, HObject* RegionComplement)

HRegion HRegion::Complement() const

static void HOperatorSet.Complement(HObject region, out HObject regionComplement)

HRegion HRegion.Complement()

def complement(region: HObject) -> HObject

描述

complementcomplementComplementComplementComplementcomplement 确定输入区域的补集。

如果系统标志 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region"'true'"true""true""true""true""true"(默认值),则返回迄今处理过的最大图像(参见 reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db)与输入区域之间的差异。

如果系统标志 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region"'false'"false""false""false""false""false"(参见 set_systemset_systemSetSystemSetSystemSetSystemset_system),则生成的区域将无限大。为避免这种情况,仅通过将 RegionRegionRegionRegionregionregion 的补码标志位设置为 TRUE 来实现虚拟补码。后续运算中应用德摩根(de Morgan)定律计算结果。仅当需要避免边缘效应时,才建议使用 complementcomplementComplementComplementComplementcomplement 并设置 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region"'false'"false""false""false""false""false",例如当感兴趣区域大于或小于图像时。对于后一种情况,裁剪区域需显式设置。若无必要使用 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region"='false'"false""false""false""false""false" 的算子,但程序其他操作需要该标志时,建议临时将系统标志设为 'true'"true""true""true""true""true",应用 complementcomplementComplementComplementComplementcomplement 算子后再改回 'false'"false""false""false""false""false"。否则后续操作可能导致负区域的产生。

执行信息

参数

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

输入区域。

RegionComplementRegionComplementRegionComplementRegionComplementregionComplementregion_complement (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

互补区域。

元素数量: RegionComplement == Region

结果

complementcomplementComplementComplementComplementcomplement 始终返回值 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>),以及输入区域为空时,可设置行为通过算子 set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)。如有必要,则抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, connectionconnectionConnectionConnectionConnectionconnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, pouringpouringPouringPouringPouringpouring, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm

可能的后继

select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape

另见

differencedifferenceDifferenceDifferenceDifferencedifference, union1union1Union1Union1Union1union1, union2union2Union2Union2Union2union2, intersectionintersectionIntersectionIntersectionIntersectionintersection, reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db, set_systemset_systemSetSystemSetSystemSetSystemset_system

模块

基础