complementcomplementComplementComplementcomplement补集(算子)
名称
complementcomplementComplementComplementcomplement — 返回一个区域的补集。
签名
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
模块
基础