complementcomplementComplementComplementcomplement (算子名称)

名称

complementcomplementComplementComplementcomplement — Return the complement of a region.

参数签名

complement(区域 : RegionComplement : : )

Herror complement(const Hobject 区域, Hobject* RegionComplement)

Herror T_complement(const Hobject 区域, Hobject* RegionComplement)

void Complement(const HObject& 区域, HObject* RegionComplement)

HRegion HRegion::Complement() const

static void HOperatorSet.Complement(HObject 区域, out HObject regionComplement)

HRegion HRegion.Complement()

def complement(区域: HObject) -> HObject

描述

complementcomplementComplementComplementComplementcomplement determines the complement of the input region(s).

If the system flag 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" is 'true'"true""true""true""true""true", which is the default, the difference of the largest image processed so far (see reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db) and the input region is returned.

If the system flag 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" is 'false'"false""false""false""false""false" (see set_systemset_systemSetSystemSetSystemSetSystemset_system), the resulting region would be infinitely large. To avoid this, the complement is done only virtually by setting the complement flag of 区域区域区域区域区域区域 to TRUE. For succeeding operations the de Morgan laws are applied while calculating results. Using complementcomplementComplementComplementComplementcomplement with 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region" set to 'false'"false""false""false""false""false" makes sense only to avoid fringe effects, e.g., if the area of interest is bigger or smaller than the image. For the latter case, the clipping would be set explicitly. If there is no reason to use the operator with 'clip_region'"clip_region""clip_region""clip_region""clip_region""clip_region"='false'"false""false""false""false""false" but you need the flag for other operations of your program, it is recommended to temporarily set the system flag to'true'"true""true""true""true""true" and change it back to 'false'"false""false""false""false""false" after applying complementcomplementComplementComplementComplementcomplement. Otherwise, negative regions may result from succeeding operations.

运行信息

参数表

区域区域区域区域区域区域 (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Input region(s).

RegionComplementRegionComplementRegionComplementRegionComplementregionComplementregion_complement (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Complemented regions.

Number of elements: RegionComplement == Region

结果

complementcomplementComplementComplementComplementcomplement always 返回值 2 ( H_MSG_TRUE) . The behavior in case of empty input (no regions given) can be set via 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>) and the behavior in case of an empty input region via 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

模块

Foundation